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
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
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
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
debugdiscovery: fix swapped heads and roots
Patch provided without comment…
Differential Revision: https://phab.mercurial-scm.org/D9566
debugdiscovery: display the number of roundtrip used
This is a good metric of the complexity of a discovery process.
Differential Revision: https://phab.mercurial-scm.org/D9565