files: cache repo.dirstate
authorSiddharth Agarwal <sid0@fb.com>
Tue, 30 Sep 2014 16:01:19 -0700
changeset 22594 1257cc6c1a2f
parent 22593 ec47d4fde26d
child 22595 244478687edd
files: cache repo.dirstate For a large repo, 'hg files' goes from 2.27 seconds to 1.92.
mercurial/commands.py
--- a/mercurial/commands.py	Tue Sep 30 15:21:35 2014 -0700
+++ b/mercurial/commands.py	Tue Sep 30 16:01:19 2014 -0700
@@ -3219,8 +3219,9 @@
     fmt = '%s' + end
 
     m = scmutil.match(ctx, pats, opts)
+    ds = repo.dirstate
     for f in ctx.matches(m):
-        if rev is None and repo.dirstate[f] == 'r':
+        if rev is None and ds[f] == 'r':
             continue
         fm.startitem()
         if ui.verbose: