Mercurial > hg
changeset 34559:eddeedbde866
commands: tidy up merge state decoding in resolve
Make the mapping from merge state to label and display key explicit, and move
construction of the dict out of the loop.
Differential Revision: https://phab.mercurial-scm.org/D861
author | Mark Thomas <mbthomas@fb.com> |
---|---|
date | Mon, 02 Oct 2017 14:05:30 -0700 |
parents | f71c712ebdec |
children | 1248aa48cac9 |
files | mercurial/commands.py |
diffstat | 1 files changed, 15 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Mon Oct 02 14:05:30 2017 -0700 +++ b/mercurial/commands.py Mon Oct 02 14:05:30 2017 -0700 @@ -4272,23 +4272,26 @@ fm = ui.formatter('resolve', opts) ms = mergemod.mergestate.read(repo) m = scmutil.match(repo[None], pats, opts) + + # Labels and keys based on merge state. Unresolved path conflicts show + # as 'P'. Resolved path conflicts show as 'R', the same as normal + # resolved conflicts. + mergestateinfo = { + 'u': ('resolve.unresolved', 'U'), + 'r': ('resolve.resolved', 'R'), + 'pu': ('resolve.unresolved', 'P'), + 'pr': ('resolve.resolved', 'R'), + 'd': ('resolve.driverresolved', 'D'), + } + 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()) - + label, key = mergestateinfo[ms[f]] fm.startitem() - fm.condwrite(not nostatus, 'status', '%s ', key, label=l) - fm.write('path', '%s\n', f, label=l) + fm.condwrite(not nostatus, 'status', '%s ', key, label=label) + fm.write('path', '%s\n', f, label=label) fm.end() return 0