merge: also allow 'e' action with experimental.updatecheck=noconflict
authorMartin von Zweigbergk <martinvonz@google.com>
Mon, 13 Mar 2017 21:58:43 -0700
changeset 31475 1b9b00aca8a3
parent 31472 75e4bae56068
child 31476 413b44003462
merge: also allow 'e' action with experimental.updatecheck=noconflict With experimental.updatecheck=noconflict set, if one checks out f3398f1f70a0 (tests: add execute bit and fix shbang line, 2015-12-22) and then try to check out its parent, hg will complain about conflicting changes, even though the working directory is clean. We need to also allow the 'e' action in merge.py. The 'e' action is used when moving to a commit where the only change to the file is to its executable flag, so it's just an optimized 'g' action. Doesn't seem to be worth writing a test for, since the existing setup in test-update-branches.t does not set any flags.
mercurial/merge.py
--- a/mercurial/merge.py	Sun Mar 12 11:43:31 2017 -0700
+++ b/mercurial/merge.py	Mon Mar 13 21:58:43 2017 -0700
@@ -1600,7 +1600,7 @@
 
         if updatecheck == 'noconflict':
             for f, (m, args, msg) in actionbyfile.iteritems():
-                if m not in ('g', 'k', 'r'):
+                if m not in ('g', 'k', 'e', 'r'):
                     msg = _("conflicting changes")
                     hint = _("commit or update --clean to discard changes")
                     raise error.Abort(msg, hint=hint)