mercurial/cmdutil.py
changeset 3557 68341c06bc61
parent 3556 cf0f8d9256c7
child 3559 39011927fdb0
equal deleted inserted replaced
3556:cf0f8d9256c7 3557:68341c06bc61
    47     def revfix(repo, val, defval):
    47     def revfix(repo, val, defval):
    48         if not val and val != 0:
    48         if not val and val != 0:
    49             return defval
    49             return defval
    50         return repo.changelog.rev(repo.lookup(val))
    50         return repo.changelog.rev(repo.lookup(val))
    51 
    51 
    52     seen = {}
    52     seen, l = {}, []
    53     for spec in revs:
    53     for spec in revs:
    54         if revrangesep in spec:
    54         if revrangesep in spec:
    55             start, end = spec.split(revrangesep, 1)
    55             start, end = spec.split(revrangesep, 1)
    56             start = revfix(repo, start, 0)
    56             start = revfix(repo, start, 0)
    57             end = revfix(repo, end, repo.changelog.count() - 1)
    57             end = revfix(repo, end, repo.changelog.count() - 1)
    58             step = start > end and -1 or 1
    58             step = start > end and -1 or 1
    59             for rev in xrange(start, end+step, step):
    59             for rev in xrange(start, end+step, step):
    60                 if rev in seen:
    60                 if rev in seen:
    61                     continue
    61                     continue
    62                 seen[rev] = 1
    62                 seen[rev] = 1
    63                 yield rev
    63                 l.append(rev)
    64         else:
    64         else:
    65             rev = revfix(repo, spec, None)
    65             rev = revfix(repo, spec, None)
    66             if rev in seen:
    66             if rev in seen:
    67                 continue
    67                 continue
    68             seen[rev] = 1
    68             seen[rev] = 1
    69             yield rev
    69             l.append(rev)
       
    70 
       
    71     return l
    70 
    72 
    71 def make_filename(repo, pat, node,
    73 def make_filename(repo, pat, node,
    72                   total=None, seqno=None, revwidth=None, pathname=None):
    74                   total=None, seqno=None, revwidth=None, pathname=None):
    73     node_expander = {
    75     node_expander = {
    74         'H': lambda: hex(node),
    76         'H': lambda: hex(node),