mbthomas created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers.
REVISION SUMMARY The resolve command must support displaying path conflicts and marking them as resolved or unresolved. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D775 AFFECTED FILES mercurial/commands.py CHANGE DETAILS diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -4268,10 +4268,19 @@ for f in ms: if not m(f): continue + + # Set label based on merge state. l = 'resolve.' + {'u': 'unresolved', 'r': 'resolved', + 'pu': 'unresolved', 'pr': 'resolved', 'd': 'driverresolved'}[ms[f]] + + # Set key based on merge state. Unresolved path conflicts show + # as 'P'. Resolved path conflicts show as 'R', the same as normal + # resolved conflicts. + key = {'pu': 'P', 'pr': 'R'}.get(ms[f], ms[f].upper()) + fm.startitem() - fm.condwrite(not nostatus, 'status', '%s ', ms[f].upper(), label=l) + fm.condwrite(not nostatus, 'status', '%s ', key, label=l) fm.write('path', '%s\n', f, label=l) fm.end() return 0 @@ -4320,6 +4329,17 @@ runconclude = True continue + # path conflicts must be resolved manually + if ms[f] in ("pu", "pr"): + if mark: + ms.mark(f, "pr") + elif unmark: + ms.mark(f, "pu") + elif ms[f] == "pu": + ui.warn(_('%s: path conflict must be resolved manually\n') + % f) + continue + if mark: ms.mark(f, "r") elif unmark: To: mbthomas, #hg-reviewers Cc: mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel