# HG changeset patch # User Bryan O'Sullivan # Date 1186713753 25200 # Node ID 13d23d66a6cd3b33ced441a3fe0aab867f44e463 # Parent 67afecb8d6cc3492f50ae8218f13cd5f8efb8185 manifest: accept -r for rev specification diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -1870,7 +1870,7 @@ def log(ui, repo, *pats, **opts): if displayer.flush(rev): count += 1 -def manifest(ui, repo, rev=None): +def manifest(ui, repo, node=None, rev=None): """output the current or given revision of the project manifest Print a list of version controlled files for the given revision. @@ -1884,7 +1884,13 @@ def manifest(ui, repo, rev=None): file revision hashes. """ - m = repo.changectx(rev).manifest() + if rev and node: + raise util.Abort(_("please specify just one revision")) + + if not node: + node = rev + + m = repo.changectx(node).manifest() files = m.keys() files.sort() @@ -1911,7 +1917,6 @@ def merge(ui, repo, node=None, force=Non if rev and node: raise util.Abort(_("please specify just one revision")) - if not node: node = rev @@ -2979,7 +2984,8 @@ table = { ('', 'template', '', _('display with template')), ] + walkopts, _('hg log [OPTION]... [FILE]')), - "manifest": (manifest, [], _('hg manifest [REV]')), + "manifest": (manifest, [('r', 'rev', '', _('revision to display'))], + _('hg manifest [-r REV]')), "^merge": (merge, [('f', 'force', None, _('force a merge with outstanding changes')), diff --git a/tests/test-manifest b/tests/test-manifest new file mode 100755 --- /dev/null +++ b/tests/test-manifest @@ -0,0 +1,20 @@ +#!/bin/sh + +hg init +echo a > a +hg ci -Ama -d'0 0' +mkdir b +echo a > b/a +hg ci -Amb -d'1 0' +hg manifest +hg manifest -v +hg manifest --debug +hg manifest -r 0 +hg manifest -r 1 +hg manifest -r tip + +echo % should fail +hg manifest -r 2 +hg manifest -r tip tip + +hg manifest tip diff --git a/tests/test-manifest.out b/tests/test-manifest.out new file mode 100644 --- /dev/null +++ b/tests/test-manifest.out @@ -0,0 +1,18 @@ +adding a +adding b/a +a +b/a +644 a +644 b/a +b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a +b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 b/a +a +a +b/a +a +b/a +% should fail +abort: unknown revision '2'! +abort: please specify just one revision +a +b/a