Mercurial > public > mercurial-scm > hg
comparison mercurial/merge.py @ 31475:1b9b00aca8a3
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.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 13 Mar 2017 21:58:43 -0700 |
parents | b6a6df38a802 |
children | 527a247f114f |
comparison
equal
deleted
inserted
replaced
31472:75e4bae56068 | 31475:1b9b00aca8a3 |
---|---|
1598 repo, wc, p2, pas, branchmerge, force, mergeancestor, | 1598 repo, wc, p2, pas, branchmerge, force, mergeancestor, |
1599 followcopies, matcher=matcher, mergeforce=mergeforce) | 1599 followcopies, matcher=matcher, mergeforce=mergeforce) |
1600 | 1600 |
1601 if updatecheck == 'noconflict': | 1601 if updatecheck == 'noconflict': |
1602 for f, (m, args, msg) in actionbyfile.iteritems(): | 1602 for f, (m, args, msg) in actionbyfile.iteritems(): |
1603 if m not in ('g', 'k', 'r'): | 1603 if m not in ('g', 'k', 'e', 'r'): |
1604 msg = _("conflicting changes") | 1604 msg = _("conflicting changes") |
1605 hint = _("commit or update --clean to discard changes") | 1605 hint = _("commit or update --clean to discard changes") |
1606 raise error.Abort(msg, hint=hint) | 1606 raise error.Abort(msg, hint=hint) |
1607 | 1607 |
1608 # Prompt and create actions. Most of this is in the resolve phase | 1608 # Prompt and create actions. Most of this is in the resolve phase |