continue: added logic for hg continue

Authored by taapas1128.


continue: added logic for hg continue

This is part of GSoC19 project `Implement abort and
continue commands`. This patch is part of the continue plan.

This adds the basic logic for hg continue. This command
aborts an multistep operation like graft, histedit, rebase,
transplant and unshelve if they are in an unfinished state.

The first part of the logic is determining the unfinished
operation from the state detection API under statemod.
This API is extended to support hg continue by adding a method
to register the abort logic as a function (here continuefunc).

Once the unfinished operation is determined the registered
logic is used to resume the command in case it is interrupted.
The benefit of this kind of framework is that any new extension
developed can support hg continue by registering the command
and logic under statedetection API.

hg continue currently supports --dry-run/-n flag only.
It is used to dry run hg abort

Differential Revision: https://phab.mercurial-scm.org/D6645


taapas1128Jul 15 2019, 12:53 PM
Differential Revision
D6645: continue: added logic for hg continue
rHG2f760da140ee: rust-utils: remove buggy assertion