D6689: continue: added support for transplant
taapas1128 (Taapas Agrawal)
phabricator at mercurial-scm.org
Wed Jul 24 13:04:34 UTC 2019
taapas1128 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This creates a seperate function `continuetransplant()`
containing logic for resuming transplant from interrupted
state.
`continuetransplant()` is then registered as `continuefunc`
for state detection API.
Results are shown in tests.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D6689
AFFECTED FILES
hgext/transplant.py
tests/test-transplant.t
CHANGE DETAILS
diff --git a/tests/test-transplant.t b/tests/test-transplant.t
--- a/tests/test-transplant.t
+++ b/tests/test-transplant.t
@@ -1,8 +1,16 @@
+#testcases commandmode continueflag
$ cat <<EOF >> $HGRCPATH
> [extensions]
> transplant=
> EOF
+#if continueflag
+ $ cat >> $HGRCPATH <<EOF
+ > [alias]
+ > continue = transplant --continue
+ > EOF
+#endif
+
$ hg init t
$ cd t
$ hg transplant
@@ -424,8 +432,9 @@
updated to "e8643552fde5: foobar"
1 other heads for branch "default"
$ rm added
- $ hg transplant --continue
- abort: no transplant to continue
+ $ hg continue
+ abort: no transplant to continue (continueflag !)
+ abort: no operation in progress (no-continueflag !)
[255]
$ hg transplant 1
applying 46ae92138f3c
@@ -492,7 +501,7 @@
# To abort: hg update
$ echo fixed > baz
- $ hg transplant --continue
+ $ hg continue
9d6d6b5a8275 transplanted as d80c49962290
applying 1dab759070cf
1dab759070cf transplanted to aa0ffe6bd5ae
@@ -881,7 +890,7 @@
[255]
$ hg status
? b.rej
- $ hg transplant --continue
+ $ hg continue
645035761929 skipped due to empty diff
$ cd ..
diff --git a/hgext/transplant.py b/hgext/transplant.py
--- a/hgext/transplant.py
+++ b/hgext/transplant.py
@@ -734,6 +734,15 @@
if cleanupfn:
cleanupfn()
+def continuetransplant(ui, repo):
+ """logic to resume an interrupted transplant using
+ 'hg continue'"""
+ with repo.wlock():
+ opts = {}
+ tp = transplanter(ui, repo, opts)
+ tp.resume(repo, repo, opts)
+ return
+
revsetpredicate = registrar.revsetpredicate()
@revsetpredicate('transplanted([set])')
@@ -760,6 +769,7 @@
def extsetup(ui):
statemod.addunfinished (
'transplant', fname='transplant/journal', clearable=True,
+ continuefunc=continuetransplant,
statushint=_('To continue: hg transplant --continue\n'
'To abort: hg update'),
cmdhint=_("use 'hg transplant --continue' or 'hg update' to abort")
To: taapas1128, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list