Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:59:09 -0500] rev 41253
tests: add missing b prefixes in remotefilelog-getflogheads.py
# skip-blame just b prefixes
Differential Revision: https://phab.mercurial-scm.org/D5603
Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:58:31 -0500] rev 41252
tests: make python oneliner portable to python 3 in remotefilelog test
Differential Revision: https://phab.mercurial-scm.org/D5602
Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:58:09 -0500] rev 41251
remotefilelog: implement __bool__ as well as __nonzero__ for py3
Differential Revision: https://phab.mercurial-scm.org/D5601
Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:57:38 -0500] rev 41250
remotefilelog: fix logging in retry decorator
This still fails with an error about no exception being available to
re-raise, but so it goes.
Differential Revision: https://phab.mercurial-scm.org/D5600
Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:56:15 -0500] rev 41249
basepack: avoid 'rbe' mode in Python 3
Differential Revision: https://phab.mercurial-scm.org/D5598
Augie Fackler <augie@google.com> [Wed, 16 Jan 2019 10:55:42 -0500] rev 41248
remotefilelog: do file IO in terms of bytes
Differential Revision: https://phab.mercurial-scm.org/D5597
Georges Racinet <georges.racinet@octobus.net> [Fri, 30 Nov 2018 14:35:57 +0100] rev 41247
rust-cpython: using MissingAncestors from Python code
As precedently done with LazyAncestors on cpython.rs, we test for the
presence of the 'rustext' module.
incrementalmissingrevs() has two callers within the Mercurial core:
`setdiscovery.partialdiscovery` and the `only()` revset.
This move shows a significant discovery performance improvement
in cases where the baseline is slow: using perfdiscovery on the PyPy
repos, prepared with `contrib/discovery-helper <repo> 50 100`, we
get averaged medians of 403ms with the Rust version vs 742ms without
(about 45% better).
But there are still indications that performance can be worse in cases
the baseline is fast, possibly due to the conversion from Python to
Rust and back becoming the bottleneck. We could measure this on
mozilla-central in cases were the delta is just a few changesets.
This requires confirmation, but if that's the reason, then an
upcoming `partialdiscovery` fully in Rust should solve the problem.
Differential Revision: https://phab.mercurial-scm.org/D5551
Georges Racinet <georges.racinet@octobus.net> [Mon, 14 Jan 2019 17:07:39 +0100] rev 41246
rust: MissingAncestors.basesheads()
This new API method on `MissingAncestors` leverages directly the
Rust implementation for relative heads of a set, and also
lowers the cost of returning the results to Python in the context of
discovery.
These interchange costs can probably be further reduced by implementing
the `partialdiscovery` class in Rust, but that will be investigated in the
5.0 development cycle.
Differential Revision: https://phab.mercurial-scm.org/D5584