# HG changeset patch # User Matt Mackall # Date 1275409137 18000 # Node ID f28b58e357685dce121eaa2826ece53c4c8bdf57 # Parent c9ce8ecd6ca116c60b5ddda6cdf5a1f1e723c27a revset: add a debugrevspec command diff -r c9ce8ecd6ca1 -r f28b58e35768 mercurial/commands.py --- a/mercurial/commands.py Tue Jun 01 11:18:57 2010 -0500 +++ b/mercurial/commands.py Tue Jun 01 11:18:57 2010 -0500 @@ -13,7 +13,7 @@ import patch, help, mdiff, url, encoding, templatekw import archival, changegroup, cmdutil, sshserver, hbisect, hgweb, hgweb.server import merge as mergemod -import minirst +import minirst, revset # Commands start here, listed alphabetically @@ -936,6 +936,15 @@ ui.configsource(section, name, untrusted)) ui.write('%s=%s\n' % (sectname, value)) +def debugrevspec(ui, repo, expr): + '''parse and apply a revision specification''' + if ui.verbose: + tree = revset.parse(expr) + ui.note(tree, "\n") + func = revset.match(expr) + for c in func(repo, range(len(repo))): + ui.write("%s\n" % c) + def debugsetparents(ui, repo, rev1, rev2=None): """manually set the parents of the current working directory @@ -3782,6 +3791,8 @@ (debugrename, [('r', 'rev', '', _('revision to debug'))], _('[-r REV] FILE')), + "debugrevspec": + (debugrevspec, [], ('REVSPEC')), "debugsetparents": (debugsetparents, [], _('REV1 [REV2]')), "debugstate": diff -r c9ce8ecd6ca1 -r f28b58e35768 tests/test-debugcomplete.out --- a/tests/test-debugcomplete.out Tue Jun 01 11:18:57 2010 -0500 +++ b/tests/test-debugcomplete.out Tue Jun 01 11:18:57 2010 -0500 @@ -73,6 +73,7 @@ debuginstall debugrebuildstate debugrename +debugrevspec debugsetparents debugstate debugsub @@ -201,6 +202,7 @@ debuginstall: debugrebuildstate: rev debugrename: rev +debugrevspec: debugsetparents: debugstate: nodates debugsub: rev