comparison mercurial/cmdutil.py @ 17676:f87683a1b02a

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.
author Pierre-Yves David <pierre-yves.david@logilab.fr>
date Mon, 03 Sep 2012 14:29:05 +0200
parents 8575f4a2126e
children 6d218e47cf9b
comparison
equal deleted inserted replaced
17675:8575f4a2126e 17676:f87683a1b02a
997 997
998 follow = opts.get('follow') or opts.get('follow_first') 998 follow = opts.get('follow') or opts.get('follow_first')
999 999
1000 if not len(repo): 1000 if not len(repo):
1001 return [] 1001 return []
1002 1002 if opts.get('rev'):
1003 if follow: 1003 revs = scmutil.revrange(repo, opts.get('rev'))
1004 defrange = '%s:0' % repo['.'].rev() 1004 elif follow:
1005 revs = repo.revs('reverse(:.)')
1005 else: 1006 else:
1006 defrange = '-1:0' 1007 revs = list(repo)
1007 revs = scmutil.revrange(repo, opts.get('rev') or [defrange]) 1008 revs.reverse()
1008 if not revs: 1009 if not revs:
1009 return [] 1010 return []
1010 wanted = set() 1011 wanted = set()
1011 slowpath = match.anypats() or (match.files() and opts.get('removed')) 1012 slowpath = match.anypats() or (match.files() and opts.get('removed'))
1012 fncache = {} 1013 fncache = {}
1390 follow = opts.get('follow') or opts.get('follow_first') 1391 follow = opts.get('follow') or opts.get('follow_first')
1391 if opts.get('rev'): 1392 if opts.get('rev'):
1392 revs = scmutil.revrange(repo, opts['rev']) 1393 revs = scmutil.revrange(repo, opts['rev'])
1393 else: 1394 else:
1394 if follow and len(repo) > 0: 1395 if follow and len(repo) > 0:
1395 revs = scmutil.revrange(repo, ['.:0']) 1396 revs = repo.revs('reverse(:.)')
1396 else: 1397 else:
1397 revs = list(repo.changelog) 1398 revs = list(repo.changelog)
1398 revs.reverse() 1399 revs.reverse()
1399 if not revs: 1400 if not revs:
1400 return iter([]), None, None 1401 return iter([]), None, None