Matt Harbison <matt_harbison@yahoo.com> [Thu, 20 Sep 2018 23:45:30 -0400] rev 39742
run-tests: partially backout PYTHON quoting
In
7f8b7a060584, I quoted this to support python being installed to
"Program Files". Even though the string passed to os.popen() is this:
"c:/Python27/python.exe" -c "import mercurial; print (mercurial.__path__[0])"
... cmd.exe is trying to run this:
'c:/Python27/python.exe" -c "import'
This caused test-hghave.t to fail, reporting 'unexpected mercurial lib: ""',
because the failed execution prints nothing to stdout. Py3 fails as though it's
not quoted. For whatever reason, print() shows up in the output when run with
py2, but not py3, so I'm having a hard time debugging this. For now, let's fix
the buildbot.
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 21 Sep 2018 03:16:08 +0530] rev 39741
py3: use '%d' instead of '%s' for integers
Python 3 does not allow to use '%s' for integers.
Differential Revision: https://phab.mercurial-scm.org/D4688
Pulkit Goyal <pulkit@yandex-team.ru> [Fri, 21 Sep 2018 03:16:38 +0530] rev 39740
py3: use print as a function in tests/test-revert.t
This makes the test work on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D4687
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Sep 2018 23:11:07 +0900] rev 39739
chgserver: restore pager fds attached within runcommand session
While rewriting chg in Rust, I noticed the server leaks the client's pager
fd. This isn't a problem right now since the IPC process terminates earlier
than the pager, but I believe the fds attached within a "runcommand" request
should be released as soon as the session ends.
Yuya Nishihara <yuya@tcha.org> [Wed, 19 Sep 2018 22:57:47 +0900] rev 39738
chgserver: add separate flag to remember if stdio fds are replaced
I want to make it use a separate saved buffer for "attachio" requests within
"runcommand" session. See the next patch for details.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Sep 2018 21:35:36 +0900] rev 39737
status: remove "morestatus" message from formatter data (BC)
They are just printable messages, not data that should be fed to JSON or
templater.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Sep 2018 21:28:47 +0900] rev 39736
tests: show that the structure of the more status output looks weird
Each dict should represent data of the same kind.
Yuya Nishihara <yuya@tcha.org> [Sat, 15 Sep 2018 16:35:39 +0900] rev 39735
phabricator: add testedwith boilerplate
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.