Mercurial > hg
view tests/printrevset.py @ 48714:c5f05c0d1c8c
merge-actions: have an attribute for narrow safetiness
This allow the core doing narrow filtering to process action without
explicitely listing all possible actions. This is important to make the actions
system more flexible in the future.
Differential Revision: https://phab.mercurial-scm.org/D12117
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 29 Jan 2022 06:21:32 +0100 |
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)', ) )