archive: use manifest.matches() to simplify and speed up matching
authorMartin von Zweigbergk <martinvonz@google.com>
Tue, 05 Sep 2017 15:24:25 -0700
changeset 40409 5eefd32cb382
parent 40408 997997eb8367
child 40410 3b782669561d
archive: use manifest.matches() to simplify and speed up matching manifest.matches() can avoid walking paths the user did not want to archive. Differential Revision: https://phab.mercurial-scm.org/D5178
mercurial/archival.py
--- a/mercurial/archival.py	Tue Sep 05 15:24:22 2017 -0700
+++ b/mercurial/archival.py	Tue Sep 05 15:24:25 2017 -0700
@@ -321,7 +321,7 @@
         if match(name):
             write(name, 0o644, False, lambda: buildmetadata(ctx))
 
-    files = [f for f in ctx.manifest().keys() if match(f)]
+    files = [f for f in ctx.manifest().matches(match)]
     total = len(files)
     if total:
         files.sort()