# HG changeset patch # User Yuya Nishihara # Date 2018-07-01 13:11:23 # Node ID e8c33e27ee9b8bd1b0170a926597e8d6e378b5c3 # Parent ece3f2d0bbd96867cb4ad9ec594ffbe5ed3aa8da resolve: add support for log-like template keywords and functions It uses wctx as the associated revision since "hg resolve" is the command to manipulate the working directory files. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -4534,7 +4534,8 @@ def resolve(ui, repo, *pats, **opts): ui.pager('resolve') fm = ui.formatter('resolve', opts) ms = mergemod.mergestate.read(repo) - m = scmutil.match(repo[None], pats, opts) + wctx = repo[None] + m = scmutil.match(wctx, 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 @@ -4554,6 +4555,7 @@ def resolve(ui, repo, *pats, **opts): label, key = mergestateinfo[ms[f]] fm.startitem() + fm.context(ctx=wctx) fm.condwrite(not nostatus, 'status', '%s ', key, label=label) fm.write('path', '%s\n', f, label=label) fm.end() diff --git a/tests/test-resolve.t b/tests/test-resolve.t --- a/tests/test-resolve.t +++ b/tests/test-resolve.t @@ -162,6 +162,10 @@ resolve -l should show resolved file as } ] + $ hg resolve -l -T '{path} {status} {p1rev} {p2rev}\n' + file1 R 2 1 + file2 U 2 1 + resolve -m without paths should mark all resolved $ hg resolve -m