Augie Fackler <augie@google.com> [Tue, 17 Sep 2019 14:20:13 -0400] rev 42946
remotefilelog: remove dead code for using flock() for locking
Differential Revision: https://phab.mercurial-scm.org/D6860
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Sep 2019 21:55:45 -0700] rev 42945
narrow: add option for automatically removing unused includes
It's been a somewhat common request among our users to have Mercurial
automatically pick includes to remove. This patch adds an option for
that: `hg tracked --auto-remove-includes`. I'm not sure if this is the
right name and semantics for it. Perhaps the feature should also add
excludes of large subdirectories even if other files in the include
are needed? Narrow clones are experimental, so we can change the name
and/or semantics later if necessary.
Differential Revision: https://phab.mercurial-scm.org/D6848
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Sep 2019 21:22:59 -0700] rev 42944
narrow: don't hexify paths and double-hexify known nodes on wire (BC)
It isn't obvious, but wireprototypes.encodelist() is meant only for
binary nodeids. So when we used it for encoding hex nodeids and paths,
the encoded result was surprising and hard to read.
This patch changes the encoding to make the list of paths a
comma-separated list and the list of common nodes to be a
encodelist()-encoded list of binary nodeids (so the result is just
singly-hexified nodeids).
This is clearly a breaking change, but the feature is experimental and
we're not aware of anyone running a server using this command yet.
Differential Revision: https://phab.mercurial-scm.org/D6851
Boris Feld <boris.feld@octobus.net> [Wed, 11 Sep 2019 17:41:13 +0200] rev 42943
remotefilelog: replace repack lock to solve race condition
2c74337e6483 reduced the probability of race-conditions when starting
background repack and prefetch and we saw the difference in our CI instance
with all failures disappearing except one where one call to waitonrepack seems
to returns too early.
I'm not sure what exactly goes wrong but I realized that while the prefetch
operation uses a standard Mercurial lock, the repack operation is using a
custom lock based on `fcntl.flock` on available platforms. As `extutil.flock`
fallback on traditional Mercurial locks on other platforms and the tests are
stable on my laptop, our CI environment and GCC112, I'm sending this patch to
standardize the behavior across environments.
Differential Revision: https://phab.mercurial-scm.org/D6844
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Sep 2019 18:36:30 +0200] rev 42942
perf: add a --stats argument to perfhelper-pathcopies
The arguments will display some statisting about the distribution of the value
we measure.
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 17 Sep 2019 09:49:30 +0200] rev 42941
perf: add a --stats argument to perfhelper-mergecopies
The arguments will display some statistics about the distribution of the value
we measure.
David Demelier <markand@malikania.fr> [Tue, 17 Sep 2019 10:47:31 +0000] rev 42940
archive: add XZ support if built with Python 3
Yuya Nishihara <yuya@tcha.org> [Sun, 15 Sep 2019 22:43:32 +0900] rev 42939
rust-cpython: add sanity check to PySharedState::decrease_leak_count()
If decrease_leak_count() were called unnecessarily, there must be a serious
bug. It's better to not silently ignore such cases.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 14 Sep 2019 12:11:03 -0400] rev 42938
tests: stabilize test-fix.t on Windows
`pwd` prints /tmp/... style paths, not C:\... needed for $TESTTMP to be
substituted.
In the final test, for whatever reason, Windows was missing EOL in the files and
printing:
[wdir] changedlines: printf: warning: ignoring excess arguments, starting
with 'printf'
even though it was trying to run:
printf "Line ranges:\n"; printf "2 through 2\n";
I tried wrapping both :command and :linerange in `sh -c "..."`, and while that
fixed the missing EOL, it missed the "2 through 2" output.
Differential Revision: https://phab.mercurial-scm.org/D6852
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 15 Sep 2019 20:04:00 -0700] rev 42937
zstandard: vendor python-zstandard 0.12
The upstream source distribution from PyPI was extracted. Unwanted
files were removed.
The clang-format ignore list was updated to reflect the new source
of files.
test-repo-compengines.t was updated to reflect a change in behavior
of the zstd library.
The project contains a vendored copy of zstandard 1.4.3. The old
version was 1.3.8. This should result in some minor performance wins.
# no-check-commit because 3rd party code has different style guidelines
Differential Revision: https://phab.mercurial-scm.org/D6858