equal
deleted
inserted
replaced
229 |
229 |
230 def revrange(ui, repo, revs): |
230 def revrange(ui, repo, revs): |
231 """Yield revision as strings from a list of revision specifications.""" |
231 """Yield revision as strings from a list of revision specifications.""" |
232 seen = {} |
232 seen = {} |
233 for spec in revs: |
233 for spec in revs: |
234 if spec.find(revrangesep) >= 0: |
234 if revrangesep in spec: |
235 start, end = spec.split(revrangesep, 1) |
235 start, end = spec.split(revrangesep, 1) |
236 start = revfix(repo, start, 0) |
236 start = revfix(repo, start, 0) |
237 end = revfix(repo, end, repo.changelog.count() - 1) |
237 end = revfix(repo, end, repo.changelog.count() - 1) |
238 step = start > end and -1 or 1 |
238 step = start > end and -1 or 1 |
239 for rev in xrange(start, end+step, step): |
239 for rev in xrange(start, end+step, step): |
2740 else: |
2740 else: |
2741 r = hex(repo.changelog.tip()) |
2741 r = hex(repo.changelog.tip()) |
2742 |
2742 |
2743 disallowed = (revrangesep, '\r', '\n') |
2743 disallowed = (revrangesep, '\r', '\n') |
2744 for c in disallowed: |
2744 for c in disallowed: |
2745 if name.find(c) >= 0: |
2745 if c in name: |
2746 raise util.Abort(_("%s cannot be used in a tag name") % repr(c)) |
2746 raise util.Abort(_("%s cannot be used in a tag name") % repr(c)) |
2747 |
2747 |
2748 repo.hook('pretag', throw=True, node=r, tag=name, |
2748 repo.hook('pretag', throw=True, node=r, tag=name, |
2749 local=int(not not opts['local'])) |
2749 local=int(not not opts['local'])) |
2750 |
2750 |