Mercurial > hg-stable
changeset 12617:2063d36b406e
revsets: make revpair revsets-aware
revpair returns the first and last members of the computed revset(s)
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 07 Oct 2010 18:05:04 -0500 |
parents | e797fdf91df4 |
children | 0ae35296fbf4 |
files | mercurial/cmdutil.py tests/test-diffdir.t |
diffstat | 2 files changed, 12 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Thu Oct 07 11:45:17 2010 -0500 +++ b/mercurial/cmdutil.py Thu Oct 07 18:05:04 2010 -0500 @@ -112,32 +112,18 @@ return limit def revpair(repo, revs): - '''return pair of nodes, given list of revisions. second item can - be None, meaning use working dir.''' - - def revfix(repo, val, defval): - if not val and val != 0 and defval is not None: - val = defval - return repo.lookup(val) - if not revs: return repo.dirstate.parents()[0], None - end = None - if len(revs) == 1: - if revrangesep in revs[0]: - start, end = revs[0].split(revrangesep, 1) - start = revfix(repo, start, 0) - end = revfix(repo, end, len(repo) - 1) - else: - start = revfix(repo, revs[0], None) - elif len(revs) == 2: - if revrangesep in revs[0] or revrangesep in revs[1]: - raise util.Abort(_('too many revisions specified')) - start = revfix(repo, revs[0], None) - end = revfix(repo, revs[1], None) - else: - raise util.Abort(_('too many revisions specified')) - return start, end + + l = revrange(repo, revs) + + if len(l) == 0: + return repo.dirstate.parents()[0], None + + if len(l) == 1: + return repo.lookup(l[0]), None + + return repo.lookup(l[0]), repo.lookup(l[-1]) def revrange(repo, revs): """Yield revision as strings from a list of revision specifications."""
--- a/tests/test-diffdir.t Thu Oct 07 11:45:17 2010 -0500 +++ b/tests/test-diffdir.t Thu Oct 07 18:05:04 2010 -0500 @@ -33,8 +33,8 @@ +123 $ hg diff -r "" - abort: 00changelog.i@: ambiguous identifier! + hg: parse error: empty query [255] $ hg diff -r tip -r "" - abort: 00changelog.i@: ambiguous identifier! + hg: parse error: empty query [255]