log: allow revset for --follow to be lazily evaluated
It is unclear to me why evaluation was forced.
For a repository with over 700,000 commits, 'hg log -f' drops from 1.2 seconds
to 0.2 seconds.
--- a/mercurial/cmdutil.py Mon Jul 14 15:42:31 2014 -0700
+++ b/mercurial/cmdutil.py Sat Jul 12 20:44:00 2014 -0700
@@ -1719,7 +1719,7 @@
if opts.get('rev'):
revs = scmutil.revrange(repo, opts['rev'])
elif follow:
- revs = revset.baseset(repo.revs('reverse(:.)'))
+ revs = repo.revs('reverse(:.)')
else:
revs = revset.spanset(repo)
revs.reverse()