Sat, 15 Sep 2018 16:35:39 +0900 phabricator: add testedwith boilerplate
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Sep 2018 16:35:39 +0900] rev 39735
phabricator: add testedwith boilerplate
Thu, 20 Sep 2018 12:13:00 -0700 narrow: extract wdir cleanup function to make it extensible
Kyle Lippincott <spectral@google.com> [Thu, 20 Sep 2018 12:13:00 -0700] rev 39734
narrow: extract wdir cleanup function to make it extensible We have an overlay filesystem which shows the entire repository, and unlinking a file that's in the underlying data store will create "tombstone" entries, which are going to cause our automatic tracking to re-add these directories. We need to use a different (non-posix) interface to clean up items in the working directory that are no longer relevant. Extracting this to a function lets us use extensions.wrappedfunction and perform this cleanup work, even if the paths aren't in the dirstate (they may have been removed in the past and thus entirely "tombstone" entries already, part of hgignore, exclusively directories (possibly empty), or other edge cases). Differential Revision: https://phab.mercurial-scm.org/D4681
Thu, 20 Sep 2018 09:52:59 -0400 changegroup: reintroduce some comments that have gotten lost over the years
Augie Fackler <augie@google.com> [Thu, 20 Sep 2018 09:52:59 -0400] rev 39733
changegroup: reintroduce some comments that have gotten lost over the years I got concerned about the correctness of the pruning logic, but I was misreading it. I didn't figure that out until I walked all the way back to 0252abaafb8a from 20111, where I was finally able to see (in the deleted side of the change!) a complete explanation from b6d9ea0bc107 in 2005. Differential Revision: https://phab.mercurial-scm.org/D4686
Wed, 19 Sep 2018 23:38:30 -0400 changegroup: tease out a temporary prune method for manifests
Augie Fackler <augie@google.com> [Wed, 19 Sep 2018 23:38:30 -0400] rev 39732
changegroup: tease out a temporary prune method for manifests It's extracted so extensions can filter manifest nodes if needed. This is an unfortunate hack, but I think I only need it for manifests. The long-term solution will be to rework the relationship between changegroups and storage so that this isn't required. Differential Revision: https://phab.mercurial-scm.org/D4685
Wed, 19 Sep 2018 23:36:16 -0400 changegroup: remove outdated comment
Augie Fackler <augie@google.com> [Wed, 19 Sep 2018 23:36:16 -0400] rev 39731
changegroup: remove outdated comment Differential Revision: https://phab.mercurial-scm.org/D4684
Thu, 20 Sep 2018 18:36:33 +0300 py3: encode the name to bytes before using in revsetpredicate()
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 18:36:33 +0300] rev 39730
py3: encode the name to bytes before using in revsetpredicate() Differential Revision: https://phab.mercurial-scm.org/D4677
Thu, 20 Sep 2018 18:36:00 +0300 py3: suppress the output on .write() calls in tests/test-hgweb-commands.t
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 18:36:00 +0300] rev 39729
py3: suppress the output on .write() calls in tests/test-hgweb-commands.t Differential Revision: https://phab.mercurial-scm.org/D4676
Thu, 20 Sep 2018 18:35:24 +0300 py3: use stringutil.pprint() to print boolean values
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 18:35:24 +0300] rev 39728
py3: use stringutil.pprint() to print boolean values Differential Revision: https://phab.mercurial-scm.org/D4675
Thu, 20 Sep 2018 18:34:38 +0300 py3: add a missing b'' in tests/test-newercgi.t
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 18:34:38 +0300] rev 39727
py3: add a missing b'' in tests/test-newercgi.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D4674
Thu, 20 Sep 2018 18:33:53 +0300 py3: use pycompat.maplist instead of map
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 18:33:53 +0300] rev 39726
py3: use pycompat.maplist instead of map Differential Revision: https://phab.mercurial-scm.org/D4673
Thu, 20 Sep 2018 17:23:20 +0300 py3: add some b'' prefixes in tests/test-extension.t
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 17:23:20 +0300] rev 39725
py3: add some b'' prefixes in tests/test-extension.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D4672
Thu, 20 Sep 2018 17:17:02 +0300 py3: make tests/svn-safe-append.py compatible with python 3
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 17:17:02 +0300] rev 39724
py3: make tests/svn-safe-append.py compatible with python 3 Differential Revision: https://phab.mercurial-scm.org/D4671
Thu, 20 Sep 2018 17:16:16 +0300 py3: use print as a function in tests/test-subrepo-svn.t
Pulkit Goyal <pulkit@yandex-team.ru> [Thu, 20 Sep 2018 17:16:16 +0300] rev 39723
py3: use print as a function in tests/test-subrepo-svn.t Differential Revision: https://phab.mercurial-scm.org/D4670
Mon, 17 Sep 2018 17:47:24 +0800 bundle2: make server.bundle2.stream default to True
Anton Shestakov <av6@dwimlabs.net> [Mon, 17 Sep 2018 17:47:24 +0800] rev 39722
bundle2: make server.bundle2.stream default to True Support for bundle2 streaming clones has been shipped in Mercurial 4.5 (7eedbd5d4880), but was never activated by default. It's time to have more people use it. The new format allows streaming clones to transport cache (hooray for speed) and phaseroots (fixes phase-related issues). Changes in tests: bundle2 capabilities now have "stream=v2" (plus a '\n' as a separator) and therefore take 14 bytes more: "%0Astream%3Dv2". Tip for tests that have data encoded with CBOR: 0xd3 - 0xc5 = 14. $USUAL_BUNDLE2_CAPS$ replaces $USUAL_BUNDLE2_CAPS_SERVER$, which is the same thing, but without "stream=v2". Since streaming clones now also transfer caches, the reported byte and file counts are higher (e.g. 816 bytes in 9 files instead of 613 bytes in 4 files, a bit of --debug and manual math confirms that the caches take these extra 203 bytes in 5 files). Differential Revision: https://phab.mercurial-scm.org/D4680
Mon, 17 Sep 2018 16:52:34 +0800 bundle2: graduate bundle2.stream option from experimental to server section
Anton Shestakov <av6@dwimlabs.net> [Mon, 17 Sep 2018 16:52:34 +0800] rev 39721
bundle2: graduate bundle2.stream option from experimental to server section Differential Revision: https://phab.mercurial-scm.org/D4679
Thu, 20 Sep 2018 17:02:31 +0800 tests: split capabilities into separate lines while searching for "narrow"
Anton Shestakov <av6@dwimlabs.net> [Thu, 20 Sep 2018 17:02:31 +0800] rev 39720
tests: split capabilities into separate lines while searching for "narrow" This test is interested only in capabilities that are related to narrow, so let's omit everything else. Makes it easier to update other capabilities (and "rev-branch-cache" is one of the usual patterns that are already present in tests/common-patterns.py anyway). Differential Revision: https://phab.mercurial-scm.org/D4678
Wed, 19 Sep 2018 23:54:16 -0400 py3: resolve Unicode issues around `hg serve` on Windows
Matt Harbison <matt_harbison@yahoo.com> [Wed, 19 Sep 2018 23:54:16 -0400] rev 39719
py3: resolve Unicode issues around `hg serve` on Windows Presumably we're going to want to use CreateProcessW(), and possibly get rid of pycompat.getcwd() here (which maps to the DeprecationWarning causing os.getcwdb()) to use os.getcwd() directly. But this was a minimal change to get rid of some stacktraces in test-run-tests.t.
Wed, 19 Sep 2018 21:41:58 -0400 run-tests: avoid os.getcwdb() on Windows
Matt Harbison <matt_harbison@yahoo.com> [Wed, 19 Sep 2018 21:41:58 -0400] rev 39718
run-tests: avoid os.getcwdb() on Windows Any call to this issues a DeprecationWarning about the Windows bytes API being deprecated. There are a handful of these calls in core, but test-run-tests.t was littered with these, as it's printed everytime run-tests.py is launched. I'm not sure what the long term strategy for Unicode on Windows in the test runner is, but this seems no worse than the current conversion strategy.
Wed, 19 Sep 2018 20:45:57 -0400 run-tests: quote PYTHON when spawning a subprocess
Matt Harbison <matt_harbison@yahoo.com> [Wed, 19 Sep 2018 20:45:57 -0400] rev 39717
run-tests: quote PYTHON when spawning a subprocess Same reason as 5abc47d4ca6b. This covers running *.py tests, as well as inline python blocks. I didn't hit the path around line 3079, but it seems correct to quote.
Mon, 17 Sep 2018 20:43:40 -0400 narrow: add test showing that local-to-local narrow clones don't work
Augie Fackler <augie@google.com> [Mon, 17 Sep 2018 20:43:40 -0400] rev 39716
narrow: add test showing that local-to-local narrow clones don't work It turns out they've never actually worked: prior to some recent refactoring they just unintentionally followed the full-clone path, which we unintentionally relied on in a test at Google. Differential Revision: https://phab.mercurial-scm.org/D4640
Wed, 19 Sep 2018 17:34:36 -0700 fastannotate: process files as they arrive
Martin von Zweigbergk <martinvonz@google.com> [Wed, 19 Sep 2018 17:34:36 -0700] rev 39715
fastannotate: process files as they arrive peer.commandexecutor()'s context manager waits for all responses to arrive in its __exit__() method. We want to process the results as they arrive, so we should do that inside the context manager scope. Note that the futures' result() methods have been replaced to make sure that the command executor's sendcommands() method is called when the first future's result is requested, so we don't need to do that. A minor side-effect is that we can no longer easily tell when the server has started sending us responses, so that long statement was lost. Differential Revision: https://phab.mercurial-scm.org/D4666
Tue, 18 Sep 2018 22:14:03 -0400 py3: make osenvironb a proxy for, instead of a copy of os.environ where needed
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Sep 2018 22:14:03 -0400] rev 39714
py3: make osenvironb a proxy for, instead of a copy of os.environ where needed Without this, TESTDIR and a few other variables weren't defined in the *.t test. I didn't bother implementing all of the view functions for simplicity. All that is actually used is __{get,set}item__(), get() and pop(), but the rest seems easy enough to add for futureproofing.
Tue, 22 May 2018 16:16:11 +0200 memctx: simplify _manifest with new revlog nodeids
Sean Farley <sean@farley.io> [Tue, 22 May 2018 16:16:11 +0200] rev 39713
memctx: simplify _manifest with new revlog nodeids This was originally written before we had modifiednodeid and addednodeid, so we had to get the parents of the context, the data from the function, and then hash that. This is much more simple now and helps refactor more code later.
Tue, 22 May 2018 12:35:38 +0200 context: remove unused overlayfilectx (API)
Sean Farley <sean@farley.io> [Tue, 22 May 2018 12:35:38 +0200] rev 39712
context: remove unused overlayfilectx (API) It seems that this was maybe used in an extension but at this point nothing in lfs, hg-experimental, or any other cursory repo looked at has a reference to this class; so, for now, let's just remove it.
Mon, 11 Jun 2018 20:48:47 -0700 context: fix typo in workingcommitctx
Sean Farley <sean@farley.io> [Mon, 11 Jun 2018 20:48:47 -0700] rev 39711
context: fix typo in workingcommitctx This was probably a copy pasta error in 745e3b485632. Refactoring memctx code exposed this bug.
Tue, 17 Jul 2018 17:16:22 -0700 filectx: fix return of renamed
Sean Farley <sean@farley.io> [Tue, 17 Jul 2018 17:16:22 -0700] rev 39710
filectx: fix return of renamed How is this not blowing up everywhere? It seems that filelog.renamed has always returned False (incorrectly a boolean) instead of the assumed None. Tracing through history, you need to skip over my move of code in 2013 by annotating from 896193a9cab4^ and you can see the original code is from 2007 (180a3eee4b75) and that ab9fa7a85dd9 broke this by assuming renamed was a bool (instead of None). Refactoring memctx code later exposed this bug.
Wed, 19 Sep 2018 00:23:02 -0400 tests: glob over some quoting differences in test-narrow-widen-no-ellipsis.t
Matt Harbison <matt_harbison@yahoo.com> [Wed, 19 Sep 2018 00:23:02 -0400] rev 39709
tests: glob over some quoting differences in test-narrow-widen-no-ellipsis.t
Tue, 18 Sep 2018 23:56:38 -0400 py3: byteify contrib/check-config.py
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Sep 2018 23:56:38 -0400] rev 39708
py3: byteify contrib/check-config.py The corresponding *.t still fails because of bytes (with a 'b' prefix) vs str printing, but no longer crashes. # skip-blame for b'' prefixing
Tue, 18 Sep 2018 23:47:21 -0400 tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Sep 2018 23:47:21 -0400] rev 39707
tests: quote PYTHON usage Python3 defaults to installing under "Program Files".
Tue, 18 Sep 2018 22:40:03 -0400 py3: add a missing b'' for Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Sep 2018 22:40:03 -0400] rev 39706
py3: add a missing b'' for Windows I tried ./contrib/byteify-strings.py, but there were way too many changes (and most looked wrong). This was hit with test-check-interfaces.py. # skip-blame for b'' prefixes
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip