mercurial/cmdutil.py
changeset 8368 52e6117a9940
parent 8360 acc202b71619
child 8390 beae42f3d93b
equal deleted inserted replaced
8367:7cf3d20f5967 8368:52e6117a9940
   152     def revfix(repo, val, defval):
   152     def revfix(repo, val, defval):
   153         if not val and val != 0 and defval is not None:
   153         if not val and val != 0 and defval is not None:
   154             return defval
   154             return defval
   155         return repo.changelog.rev(repo.lookup(val))
   155         return repo.changelog.rev(repo.lookup(val))
   156 
   156 
   157     seen, l = {}, []
   157     seen, l = set(), []
   158     for spec in revs:
   158     for spec in revs:
   159         if revrangesep in spec:
   159         if revrangesep in spec:
   160             start, end = spec.split(revrangesep, 1)
   160             start, end = spec.split(revrangesep, 1)
   161             start = revfix(repo, start, 0)
   161             start = revfix(repo, start, 0)
   162             end = revfix(repo, end, len(repo) - 1)
   162             end = revfix(repo, end, len(repo) - 1)
   163             step = start > end and -1 or 1
   163             step = start > end and -1 or 1
   164             for rev in xrange(start, end+step, step):
   164             for rev in xrange(start, end+step, step):
   165                 if rev in seen:
   165                 if rev in seen:
   166                     continue
   166                     continue
   167                 seen[rev] = 1
   167                 seen.add(rev)
   168                 l.append(rev)
   168                 l.append(rev)
   169         else:
   169         else:
   170             rev = revfix(repo, spec, None)
   170             rev = revfix(repo, spec, None)
   171             if rev in seen:
   171             if rev in seen:
   172                 continue
   172                 continue
   173             seen[rev] = 1
   173             seen.add(rev)
   174             l.append(rev)
   174             l.append(rev)
   175 
   175 
   176     return l
   176     return l
   177 
   177 
   178 def make_filename(repo, pat, node,
   178 def make_filename(repo, pat, node,