Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 21 Nov 2020 09:31:34 +0100] rev 46127
copies-rust: move the mapping merging into a else clause
We are going to add more cases, to it is time to stop using early returns and to
move everything in a single if/elif/else block for clarity.
Differential Revision: https://phab.mercurial-scm.org/D9425
Pierre-Yves David <pierre-yves.david@octobus.net> [Sat, 21 Nov 2020 09:30:34 +0100] rev 46126
copies-rust: extract conflicting value comparison in its own function
First, that logic is complicated enough to be in it own function. Second, we
want to start adding alternative path within the merge code so we need this logic
easily accessible in multiple places.
Differential Revision: https://phab.mercurial-scm.org/D9424
Matt Harbison <matt_harbison@yahoo.com> [Thu, 17 Dec 2020 00:48:36 -0500] rev 46125
mergetools: alphabetize the config settings
This will make it easier to identify differences with the TortoiseHg config
file. It was simply piped through `sort`, and then the spacing and comments
restored into the proper place. The `UltraCompare` config was positioned such
that the sort is case insensitive- it's the only camelcase config in here.
Differential Revision: https://phab.mercurial-scm.org/D9620
Joerg Sonnenberger <joerg@bec.de> [Mon, 14 Dec 2020 19:48:35 +0100] rev 46124
share: properly copy cache files when cloning from a share
If a is shared to b and b cloned to c, the old code would look directly
under b/.hg for the cache directory and not use the cachevfs layer to
pick the members from a/.hg/cache. Adjust variable names and comments to
reflect that the function is used for more than just the branchmap
cache.
Differential Revision: https://phab.mercurial-scm.org/D9598
Joerg Sonnenberger <joerg@bec.de> [Mon, 14 Dec 2020 18:19:58 +0100] rev 46123
tests: workaround for a flaky test
Differential Revision: https://phab.mercurial-scm.org/D9597
Joerg Sonnenberger <joerg@bec.de> [Sun, 13 Dec 2020 00:19:03 +0100] rev 46122
revlog: support none compression
revlog files had uncompressed revlog entries support since forever, but
it wasn't selectable or exposed explicitly. It is occassionally useful
for performance testing as it avoids the latency of zlib or zstd. It
also has the nice side effect of providing a non-default compression
engine out-of-the-box.
Differential Revision: https://phab.mercurial-scm.org/D9572
Martin von Zweigbergk <martinvonz@google.com> [Thu, 12 Nov 2020 10:41:03 -0800] rev 46121
errors: raise InputError on recursive template definition
Differential Revision: https://phab.mercurial-scm.org/D9602
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 16:39:53 -0800] rev 46120
errors: raise StateError when push fails because it creates new heads
I decided to raise `StateError` here because the local and remote
repos are in an incompatible state. I think remote errors (exit code
100) should be when something goes wrong on the remote and there's
nothing the user can do.
Differential Revision: https://phab.mercurial-scm.org/D9391
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 10:38:05 -0800] rev 46119
errors: raise InputError on early parse error in dispatch
I didn't think this would have any effect on the tests, but it does
because the catching in `scmutil.callcatch()` still happens. That's
because `dispatch` passes in the function that includes the parsing as
an argument to that function.
I initially used `ConfigError` here but Matt Harbison convinced me to
use `InputError`. I think that makes sense since error is not in a
config file.
Differential Revision: https://phab.mercurial-scm.org/D9387
Martin von Zweigbergk <martinvonz@google.com> [Wed, 18 Nov 2020 23:37:09 -0800] rev 46118
errors: raise more specifc errors from narrowcommands
Differential Revision: https://phab.mercurial-scm.org/D9386
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 Dec 2020 19:40:30 -0800] rev 46117
errors: use detailed exit code 50 for StorageError
This is done as part of
https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan.
Differential Revision: https://phab.mercurial-scm.org/D9601
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 Dec 2020 20:22:25 -0800] rev 46116
errors: raise InputError if an ambiguous revision id prefix is used
It's long bothered me that we include the "00changelog.i" part in a
message to the user. This fixes that along with the exit code.
Differential Revision: https://phab.mercurial-scm.org/D9600
Martin von Zweigbergk <martinvonz@google.com> [Thu, 10 Dec 2020 01:18:15 -0800] rev 46115
localrepo: delete obsolete comment about `prefix in repo` raising exception
We dropped support for `prefix in repo`, where `prefix` is a hex
prefix, in 8b86acc7aa64 (context: drop support for looking up context
by ambiguous changeid (API), 2018-04-28), after having deprecated it a
while before that. These days you get a `ProgrammingError` instead if
you pass in a short nodeid.
Differential Revision: https://phab.mercurial-scm.org/D9599
Joerg Sonnenberger <joerg@bec.de> [Tue, 01 Dec 2020 21:54:46 +0100] rev 46114
node: import symbols explicitly
There is no point in lazy importing mercurial.node, it is used all over
the place anyway. So consistently import the used symbols directly.
Fix one file using symbols indirectly via mercurial.revlog.
Differential Revision: https://phab.mercurial-scm.org/D9480