Commit 1f744ef2 authored by Yuya Nishihara's avatar Yuya Nishihara
Browse files

annotate: automatically populate fields referenced from template

If '{line_number}' is in the template, we'll probably need it. No
--line-number option should be required in such cases.
parent 31ed65f9c5ad
......@@ -359,11 +359,12 @@ def annotate(ui, repo, *pats, **opts):
else:
def makefunc(get, fmt):
return get
datahint = rootfm.datahint()
funcmap = [(makefunc(get, fmt), sep) for fn, sep, get, fmt in opmap
if opts.get(opnamemap.get(fn, fn))]
if opts.get(opnamemap.get(fn, fn)) or fn in datahint]
funcmap[0] = (funcmap[0][0], '') # no separator in front of first column
fields = ' '.join(fn for fn, sep, get, fmt in opmap
if opts.get(opnamemap.get(fn, fn)))
if opts.get(opnamemap.get(fn, fn)) or fn in datahint)
def bad(x, y):
raise error.Abort("%s: %s" % (x, y))
......
......@@ -76,6 +76,11 @@ log-like templating
$ hg annotate -T'{lines % "{rev} {node|shortest}: {line}"}' a
0 8435: a
'{line_number}' field should be populated as necessary
$ hg annotate -T'{lines % "{rev}:{line_number}: {line}"}' a
0:1: a
$ cat <<EOF >>a
> a
> a
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment