store: pass in decoded filename to narrow matcher
authorYuya Nishihara <yuya@tcha.org>
Sat, 10 Nov 2018 11:52:32 +0900
changeset 40584 a694a7159125
parent 40583 186921bc8e66
child 40585 d0a6b2c8f8b6
store: pass in decoded filename to narrow matcher
mercurial/store.py
tests/test-narrow-clone-stream.t
--- 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