# HG changeset patch # User Martin von Zweigbergk # Date 2017-03-14 04:58:43 # Node ID 1b9b00aca8a344736467e8ad3e220f732607bbaf # Parent 75e4bae56068bec4f965773a2d5f4d272a8dc5b0 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. diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -1600,7 +1600,7 @@ def update(repo, node, branchmerge, forc 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)