# HG changeset patch # User Simon King # Date 1369949530 -3600 # Node ID e078ea9b4ce40ee9a85c6b9d5db55afc11519bd0 # Parent 39ea540dc1543b5ed31251ef9f394c7902c65f19 graft: refuse to commit an interrupted graft (issue3667) diff -r 39ea540dc154 -r e078ea9b4ce4 mercurial/commands.py --- a/mercurial/commands.py Thu May 23 17:53:19 2013 -0500 +++ b/mercurial/commands.py Thu May 30 22:32:10 2013 +0100 @@ -1315,6 +1315,10 @@ # 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 -r 39ea540dc154 -r e078ea9b4ce4 tests/test-graft.t --- a/tests/test-graft.t Thu May 23 17:53:19 2013 -0500 +++ b/tests/test-graft.t Thu May 30 22:32:10 2013 +0100 @@ -174,6 +174,13 @@ (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