# HG changeset patch # User Matt Mackall # Date 1161901627 18000 # Node ID 68341c06bc61c8ce2de5424d8361086600f9abe8 # Parent cf0f8d9256c7ff4c3a178ab9cce3046a932cd5ea Make revrange return a list of ints so that callers don't have to convert diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -502,7 +502,7 @@ class queue: if opts.get('rev'): if not self.applied: raise util.Abort(_('no patches applied')) - revs = [int(r) for r in cmdutil.revrange(ui, repo, opts['rev'])] + revs = cmdutil.revrange(ui, repo, opts['rev']) if len(revs) > 1 and revs[0] > revs[1]: revs.reverse() for rev in revs: @@ -1276,7 +1276,7 @@ class queue: if files: raise util.Abort(_('option "-r" not valid when importing ' 'files')) - rev = [int(r) for r in cmdutil.revrange(self.ui, repo, rev)] + rev = cmdutil.revrange(self.ui, repo, rev) rev.sort(lambda x, y: cmp(y, x)) if (len(files) > 1 or len(rev) > 1) and patchname: raise util.Abort(_('option "-n" not valid when importing multiple ' diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -49,7 +49,7 @@ def revrange(ui, repo, revs): return defval return repo.changelog.rev(repo.lookup(val)) - seen = {} + seen, l = {}, [] for spec in revs: if revrangesep in spec: start, end = spec.split(revrangesep, 1) @@ -60,13 +60,15 @@ def revrange(ui, repo, revs): if rev in seen: continue seen[rev] = 1 - yield rev + l.append(rev) else: rev = revfix(repo, spec, None) if rev in seen: continue seen[rev] = 1 - yield rev + l.append(rev) + + return l def make_filename(repo, pat, node, total=None, seqno=None, revwidth=None, pathname=None): diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -102,7 +102,7 @@ def walkchangerevs(ui, repo, pats, opts) defrange = '%s:0' % repo.changectx().rev() else: defrange = 'tip:0' - revs = map(int, cmdutil.revrange(ui, repo, opts['rev'] or [defrange])) + revs = cmdutil.revrange(ui, repo, opts['rev'] or [defrange]) wanted = {} slowpath = anypats fncache = {} @@ -1375,7 +1375,7 @@ def export(ui, repo, *changesets, **opts """ if not changesets: raise util.Abort(_("export requires at least one changeset")) - revs = list(cmdutil.revrange(ui, repo, changesets)) + revs = cmdutil.revrange(ui, repo, changesets) if len(revs) > 1: ui.note(_('exporting patches:\n')) else: @@ -1841,8 +1841,7 @@ def log(ui, repo, *pats, **opts): count = 0 if opts['copies'] and opts['rev']: - endrev = max([int(i) - for i in cmdutil.revrange(ui, repo, opts['rev'])]) + 1 + endrev = max(cmdutil.revrange(ui, repo, opts['rev'])) + 1 else: endrev = repo.changelog.count() rcache = {}