diff -r 4215ce511134 -r 8c6c7f6347a3 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Fri Jun 04 20:57:52 2010 -0500 +++ b/mercurial/cmdutil.py Fri Jun 04 22:54:43 2010 -0500 @@ -153,7 +153,8 @@ spec.startswith(revrangesep) or spec.endswith(revrangesep)): m = revset.match(spec) for r in m(repo, range(len(repo))): - l.append(r) + if r not in seen: + l.append(r) seen.update(l) elif revrangesep in spec: start, end = spec.split(revrangesep, 1)