Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 May 2021 15:24:46 +0200] rev 47300
updatecaches: deprecate the `full` argument
Now that all users were migrated, we can use deprecate the old way. This would
give potential extensions code a heads up on the API change.
Differential Revision: https://phab.mercurial-scm.org/D10731
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 May 2021 15:42:18 +0200] rev 47299
updatecaches: use the `caches` argument instead of a special `full` value
After a clone we want to update most cachem, but not exactly all of them. We
can now cleanly express this.
Differential Revision: https://phab.mercurial-scm.org/D10730
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 May 2021 15:27:29 +0200] rev 47298
updatecaches: use the caches argument in `hg debugupdatecaches`
This is the new way.
Differential Revision: https://phab.mercurial-scm.org/D10729
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 May 2021 14:45:16 +0200] rev 47297
updatecaches: adds a `caches` parameters to `repo.updatecaches`
It will superseed the `full` parameters (and its `post-clone` variant from
stable). Various caller will be updated in the rest of this series.
Differential Revision: https://phab.mercurial-scm.org/D10728
Pierre-Yves David <pierre-yves.david@octobus.net> [Mon, 17 May 2021 14:41:09 +0200] rev 47296
updatecaches: introduce a set of constants to control which are updated
Passing around a set of constant to select what need warming will be cleaner
and more flexible. We did not changed the API yet, as this changes is already
large enough. In the rest of the rest we will change more code to actually use
this constants (or more realistically pre-defined set of constant directly)
Differential Revision: https://phab.mercurial-scm.org/D10727
Martin von Zweigbergk <martinvonz@google.com> [Tue, 18 May 2021 21:50:09 -0700] rev 47295
errors: make StorageError subclass Error, attaching an exit code to it
Differential Revision: https://phab.mercurial-scm.org/D10741
Martin von Zweigbergk <martinvonz@google.com> [Tue, 18 May 2021 19:33:09 -0700] rev 47294
revlog: avoid raising no-arg RevlogError for internal flow control
I'm about to make RevlogError require a `message` argument and this
code was failing. This patch refactors it to not raise an exception
for intra-function flow control.
Differential Revision: https://phab.mercurial-scm.org/D10740
Martin von Zweigbergk <martinvonz@google.com> [Tue, 18 May 2021 21:45:59 -0700] rev 47293
errors: catch the new Error class in scmutil and chgserver
Differential Revision: https://phab.mercurial-scm.org/D10739
Martin von Zweigbergk <martinvonz@google.com> [Tue, 18 May 2021 21:32:12 -0700] rev 47292
errors: create superclass for Abort exception
I'd like to let extensions subclass `StorageError` to define a custom
exit code. However, `StorageError` does not extend `Abort` (which is
where the exit code currently lives), and it seems that it's not
supposed to either (`StorageError` seems to be for lower-level errors
and `Abort` is for command-level errors). This patch therefore
extracts all the code from `Abort` into a new `Error` class, which
I'll soon make `StorageError` also extend.
Differential Revision: https://phab.mercurial-scm.org/D10738
Martin von Zweigbergk <martinvonz@google.com> [Tue, 18 May 2021 22:07:16 -0700] rev 47291
errors: make InterventionRequired subclass Abort
The docstring for `Abort` says that it's for errors raised by commands
and `InterventionRequired` is definitely something raised by commands,
so it seems that it should be an `Abort`. This patch makes it so. It
adds a `coarse_exit_code` (in addition to the already existing
`detailed_exit_code`) to `Abort` to achieve that, since
`InterventionRequired` should result in a special exit code even when
the `ui.detailed-exit-code` config is not set.
Differential Revision: https://phab.mercurial-scm.org/D10737