changeset 40584:a694a7159125

store: pass in decoded filename to narrow matcher
author Yuya Nishihara <yuya@tcha.org>
date Sat, 10 Nov 2018 11:52:32 +0900
parents 186921bc8e66
children d0a6b2c8f8b6
files mercurial/store.py tests/test-narrow-clone-stream.t
diffstat 2 files changed, 2 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/store.py	Sat Nov 10 11:47:36 2018 +0900
+++ b/mercurial/store.py	Sat Nov 10 11:52:32 2018 +0900
@@ -427,12 +427,12 @@
 
     def datafiles(self, matcher=None):
         for a, b, size in super(encodedstore, self).datafiles():
-            if not _matchtrackedpath(a, matcher):
-                continue
             try:
                 a = decodefilename(a)
             except KeyError:
                 a = None
+            if a is not None and not _matchtrackedpath(a, matcher):
+                continue
             yield a, b, size
 
     def join(self, f):
--- a/tests/test-narrow-clone-stream.t	Sat Nov 10 11:47:36 2018 +0900
+++ b/tests/test-narrow-clone-stream.t	Sat Nov 10 11:52:32 2018 +0900
@@ -84,22 +84,6 @@
 
 Checking that repository has all the required data and not broken
 
-#if flat-nofncache
-  $ hg verify
-  checking changesets
-  checking manifests
-  crosschecking files in changesets and manifests
-  checking files
-   warning: revlog 'data/dir/src/F10.i' not in fncache!
-   9: empty or missing dir/src/F10
-   dir/src/F10@9: manifest refers to unknown revision 419ee72d626b
-  checked 40 changesets with 0 changes to 1 files
-  1 warnings encountered!
-  hint: run "hg debugrebuildfncache" to recover from corrupt fncache
-  2 integrity errors encountered!
-  (first damaged changeset appears to be 9)
-  [1]
-#else
   $ hg verify
   checking changesets
   checking manifests
@@ -107,4 +91,3 @@
   crosschecking files in changesets and manifests
   checking files
   checked 40 changesets with 1 changes to 1 files
-#endif