# HG changeset patch # User Siddharth Agarwal # Date 1405223040 25200 # Node ID abae1eb695c077fa21b6ef0b7056f36d63cf0302 # Parent 0feb41534421c40c23c71f89f292951b47c4fd98 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. diff -r 0feb41534421 -r abae1eb695c0 mercurial/cmdutil.py --- 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()