Mercurial > hg
view tests/printrevset.py @ 46651:6fc57680cfd6
error: remove shortening of node in error message
This strips the complete 20 bytes node which was not found. Having the the full
node in error message is important as it makes debugging easier.
If a short node is to be displayed, that should be done by callers.
Differential Revision: https://phab.mercurial-scm.org/D9994
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Wed, 10 Feb 2021 17:24:54 +0530 |
parents | c1d0f83d62c4 |
children | 6000f5b25c9b |
line wrap: on
line source
from __future__ import absolute_import from mercurial.thirdparty import attr from mercurial import ( cmdutil, commands, extensions, logcmdutil, revsetlang, smartset, ) from mercurial.utils import stringutil def logrevset(repo, wopts): revs = logcmdutil._initialrevs(repo, wopts) if not revs: return None match, pats, slowpath = logcmdutil._makematcher(repo, revs, wopts) wopts = attr.evolve(wopts, pats=pats) return logcmdutil._makerevset(repo, wopts, slowpath) def uisetup(ui): def printrevset(orig, repo, wopts): revs, filematcher = orig(repo, wopts) if wopts.opts.get(b'print_revset'): expr = logrevset(repo, wopts) if expr: tree = revsetlang.parse(expr) tree = revsetlang.analyze(tree) else: tree = [] ui = repo.ui ui.write(b'%s\n' % stringutil.pprint(wopts.opts.get(b'rev', []))) ui.write(revsetlang.prettyformat(tree) + b'\n') ui.write(stringutil.prettyrepr(revs) + b'\n') revs = smartset.baseset() # display no revisions return revs, filematcher extensions.wrapfunction(logcmdutil, 'getrevs', printrevset) aliases, entry = cmdutil.findcmd(b'log', commands.table) entry[1].append( ( b'', b'print-revset', False, b'print generated revset and exit (DEPRECATED)', ) )