Comments
Patch
@@ -119,6 +119,16 @@ def _showlist(name, values, plural=None,
if endname in templ:
yield templ(endname, **args)
+def _formatrevnode(ctx):
+ """Format changeset as '{rev}:{node|formatnode}', which is the default
+ template provided by cmdutil.changeset_templater"""
+ repo = ctx.repo()
+ if repo.ui.debugflag:
+ hexnode = ctx.hex()
+ else:
+ hexnode = ctx.hex()[:12]
+ return '%d:%s' % (scmutil.intrev(ctx.rev()), hexnode)
+
def getfiles(repo, ctx, revcache):
if 'files' not in revcache:
revcache['files'] = repo.status(ctx.p1(), ctx)[:3]
@@ -523,7 +533,8 @@ def showparents(**args):
('phase', p.phasestr())]
for p in pctxs]
f = _showlist('parent', parents, **args)
- return _hybrid(f, prevs, lambda x: {'ctx': repo[int(x)], 'revcache': {}})
+ return _hybrid(f, prevs, lambda x: {'ctx': repo[int(x)], 'revcache': {}},
+ lambda d: _formatrevnode(d['ctx']))
@templatekeyword('phase')
def showphase(repo, ctx, templ, **args):
@@ -3438,6 +3438,16 @@ join() should pick '{rev}' from revset i
$ hg log -R ../a -T '{join(revset("parents(%d)", rev), ", ")}\n' -r6
4, 5
+on the other hand, parents are formatted as '{rev}:{node|formatnode}' by
+default. join() should agree with the default formatting:
+
+ $ hg log -R ../a -T '{join(parents, ", ")}\n' -r6
+ 5:13207e5a10d9, 4:bbe44766e73d
+
+ $ hg log -R ../a -T '{join(parents, ",\n")}\n' -r6 --debug
+ 5:13207e5a10d9fd28ec424934298e176197f2c67f,
+ 4:bbe44766e73d5f11ed2177f1838de10c53ef3e74
+
Test active bookmark templating
$ hg book foo