diff --git a/hgext/transplant.py b/hgext/transplant.py --- a/hgext/transplant.py +++ b/hgext/transplant.py @@ -762,6 +762,13 @@ tp = transplanter(ui, repo, {}) return tp.resume(repo, repo, {}) +def aborttransplant(ui, repo): + """logic to abort a transplnat in progress using + 'hg abort'""" + with repo.wlock(): + tp = transplanter(ui, repo, {}) + return tp.abort(ui, repo) + revsetpredicate = registrar.revsetpredicate() @revsetpredicate('transplanted([set])') @@ -788,7 +795,7 @@ def extsetup(ui): statemod.addunfinished ( 'transplant', fname='transplant/journal', clearable=True, - continuefunc=continuetransplant, + continuefunc=continuetransplant, abortfunc=aborttransplant, ) # tell hggettext to extract docstrings from these functions: diff --git a/tests/test-transplant.t b/tests/test-transplant.t --- a/tests/test-transplant.t +++ b/tests/test-transplant.t @@ -1,10 +1,17 @@ -#testcases commandmode continueflag +#testcases commandmode abortflag continueflag $ cat <> $HGRCPATH > [extensions] > transplant= > graphlog= > EOF +#if abortflag + $ cat >> $HGRCPATH < [alias] + > abort = transplant --abort + > EOF +#endif + #if continueflag $ cat >> $HGRCPATH < [alias] @@ -460,7 +467,7 @@ abort: fix up the working directory and run hg transplant --continue [255] - $ hg transplant --abort + $ hg abort transplant aborted working directory is now at e8643552fde5 Repo log after abort @@ -514,8 +521,9 @@ abort: no transplant to continue (continueflag !) abort: no operation in progress (no-continueflag !) [255] - $ hg transplant --abort - abort: no transplant to abort + $ hg abort + abort: no transplant to abort (abortflag !) + abort: no operation in progress (no-abortflag !) [255] $ hg transplant 1 applying 46ae92138f3c