diff -r cfd03c069e08 -r e7833e63bb42 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Fri Mar 14 08:43:52 2014 -0700 +++ b/mercurial/cmdutil.py Fri Mar 14 11:35:17 2014 -0700 @@ -1515,8 +1515,12 @@ follow = opts.get('follow') or opts.get('follow_first') followfirst = opts.get('follow_first') and 1 or 0 # --follow with FILE behaviour depends on revs... - startrev = revs[0] - followdescendants = (len(revs) > 1 and revs[0] < revs[1]) and 1 or 0 + it = iter(revs) + startrev = it.next() + try: + followdescendants = startrev < it.next() + except (StopIteration): + followdescendants = False # branch and only_branch are really aliases and must be handled at # the same time