[PATCH stable] graft: refuse to commit an interrupted graft (issue3667)
Simon King
simon at simonking.org.uk
Thu May 30 16:47:38 CDT 2013
# HG changeset patch
# User Simon King <simon at simonking.org.uk>
# Date 1369949530 -3600
# Branch stable
# Node ID e078ea9b4ce40ee9a85c6b9d5db55afc11519bd0
# Parent 39ea540dc1543b5ed31251ef9f394c7902c65f19
graft: refuse to commit an interrupted graft (issue3667)
diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1315,6 +1315,10 @@ def commit(ui, repo, *pats, **opts):
# Let --subrepos on the command line override config setting.
ui.setconfig('ui', 'commitsubrepos', True)
+ if repo.vfs.exists('graftstate'):
+ raise util.Abort(_('cannot commit an interrupted graft operation'),
+ hint=_('use "hg graft -c" to continue graft'))
+
extra = {}
if opts.get('close_branch'):
extra['close'] = 1
diff --git a/tests/test-graft.t b/tests/test-graft.t
--- a/tests/test-graft.t
+++ b/tests/test-graft.t
@@ -174,6 +174,13 @@ Graft out of order, skipping a merge and
(use hg resolve and hg graft --continue)
[255]
+Commit while interrupted should fail:
+
+ $ hg ci -m 'commit interrupted graft'
+ abort: cannot commit an interrupted graft operation
+ (use "hg graft -c" to continue graft)
+ [255]
+
Continue without resolve should fail:
$ hg graft -c
More information about the Mercurial-devel
mailing list