[PATCH 7 of 8 clfilter-part1] clfilter: remove any explicit revision number from default cmdutil range
pierre-yves.david at logilab.fr
pierre-yves.david at logilab.fr
Thu Sep 20 12:12:14 CDT 2012
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1346675345 -7200
# Node ID 0f55ba7803997843a1e047f9b2fc112e53cabfb3
# Parent 2dadf80b38e19840fceb94eef2d7a99a5e2f8004
clfilter: remove any explicit revision number from default cmdutil range
Revision "0" and "-1" may be filtered, we can't use them in any default
revrange.
diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -997,16 +997,17 @@ def walkchangerevs(repo, match, opts, pr
follow = opts.get('follow') or opts.get('follow_first')
if not len(repo):
return []
-
- if follow:
- defrange = '%s:0' % repo['.'].rev()
+ if opts.get('rev'):
+ revs = scmutil.revrange(repo, opts.get('rev'))
+ elif follow:
+ revs = repo.revs('reverse(:.)')
else:
- defrange = '-1:0'
- revs = scmutil.revrange(repo, opts.get('rev') or [defrange])
+ revs = list(repo)
+ revs.reverse()
if not revs:
return []
wanted = set()
slowpath = match.anypats() or (match.files() and opts.get('removed'))
fncache = {}
@@ -1390,11 +1391,11 @@ def getgraphlogrevs(repo, pats, opts):
follow = opts.get('follow') or opts.get('follow_first')
if opts.get('rev'):
revs = scmutil.revrange(repo, opts['rev'])
else:
if follow and len(repo) > 0:
- revs = scmutil.revrange(repo, ['.:0'])
+ revs = repo.revs('reverse(:.)')
else:
revs = list(repo.changelog)
revs.reverse()
if not revs:
return iter([]), None, None
More information about the Mercurial-devel
mailing list