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.
--- 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)