[Bug 6055] New: {latesttags} and friends raise a revspec parse error for uncommitted merges

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri Jan 18 15:53:57 UTC 2019


https://bz.mercurial-scm.org/show_bug.cgi?id=6055

            Bug ID: 6055
           Summary: {latesttags} and friends raise a revspec parse error
                    for uncommitted merges
           Product: Mercurial
           Version: default branch
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: bug
          Priority: normal
         Component: templater
          Assignee: bugzilla at mercurial-scm.org
          Reporter: matt_harbison at yahoo.com
                CC: mercurial-devel at mercurial-scm.org

It works fine for committed merges and normal commits.  But:

$ hg merge
$ hg id -T '{latesttag}+{changessincelatesttag}-{p1node}{dirty}' --traceback
Traceback (most recent call last):
  File "d:\mercurial\mercurial\scmutil.py", line 165, in callcatch
    return func()
  File "d:\mercurial\mercurial\dispatch.py", line 367, in _runcatchfunc
    return _dispatch(req)
  File "d:\mercurial\mercurial\dispatch.py", line 1021, in _dispatch
    cmdpats, cmdoptions)
  File "d:\mercurial\mercurial\dispatch.py", line 756, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File "d:\mercurial\mercurial\dispatch.py", line 1030, in _runcommand
    return cmdfunc()
  File "d:\mercurial\mercurial\dispatch.py", line 1018, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
  File "d:\mercurial\mercurial\util.py", line 1670, in check
    return func(*args, **kwargs)
  File "d:\mercurial\mercurial\commands.py", line 3311, in identify
    fm.end()
  File "d:\mercurial\mercurial\formatter.py", line 435, in end
    baseformatter.end(self)
  File "d:\mercurial\mercurial\formatter.py", line 239, in end
    self._showitem()
  File "d:\mercurial\mercurial\formatter.py", line 418, in _showitem
    self._renderitem(self._tref, item)
  File "d:\mercurial\mercurial\formatter.py", line 424, in _renderitem
    self._out.write(self._t.render(ref, item))
  File "d:\mercurial\mercurial\templater.py", line 937, in render
    return b''.join(self.generate(t, mapping))
  File "d:\mercurial\mercurial\util.py", line 1581, in increasingchunks
    for chunk in source:
  File "d:\mercurial\mercurial\templateutil.py", line 721, in flatten
    for i in thing:
  File "d:\mercurial\mercurial\templateutil.py", line 915, in runtemplate
    yield evalrawexp(context, mapping, arg)
  File "d:\mercurial\mercurial\templateutil.py", line 769, in evalrawexp
    return func(context, mapping, data)
  File "d:\mercurial\mercurial\templateutil.py", line 907, in runsymbol
    return v(context, mapping)
  File "d:\mercurial\mercurial\templatekw.py", line 428, in showlatesttag
    return showlatesttags(context, mapping, None)
  File "d:\mercurial\mercurial\templatekw.py", line 432, in showlatesttags
    latesttags = getlatesttags(context, mapping, pattern)
  File "d:\mercurial\mercurial\templatekw.py", line 89, in getlatesttags
    pdate, pdist, ptag = max(ptags, key=key)
  File "d:\mercurial\mercurial\templatekw.py", line 85, in key
    ctx.rev(), x[2][0]))
  File "d:\mercurial\mercurial\localrepo.py", line 1365, in revs
    tree = revsetlang.spectree(expr, *args)
  File "d:\mercurial\mercurial\revsetlang.py", line 697, in spectree
    parsed = _parseargs(expr, args)
  File "d:\mercurial\mercurial\revsetlang.py", line 775, in _parseargs
    raise error.ParseError(_('invalid argument for revspec'))
ParseError: invalid argument for revspec
hg: parse error: invalid argument for revspec

This was with 4.8.2+810-593f6359681d.  I didn't go back to see where it broke.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list