mercurial/repair.py
changeset 32197 7bcc9a5ab96e
parent 32196 a2be2abe9476
child 32296 7e07d5836063
--- a/mercurial/repair.py	Mon May 08 11:35:23 2017 -0700
+++ b/mercurial/repair.py	Mon May 08 11:35:23 2017 -0700
@@ -238,11 +238,12 @@
 def striptrees(repo, tr, striprev, files):
     if 'treemanifest' in repo.requirements: # safe but unnecessary
                                             # otherwise
-        for unencoded, encoded, size in repo.store.datafiles():
-            if (unencoded.startswith('meta/') and
-                unencoded.endswith('00manifest.i')):
-                dir = unencoded[5:-12]
-                repo.manifestlog._revlog.dirlog(dir).strip(striprev, tr)
+        treerevlog = repo.manifestlog._revlog
+        for dir in util.dirs(files):
+            # If the revlog doesn't exist, this returns an empty revlog and is a
+            # no-op.
+            rl = treerevlog.dirlog(dir)
+            rl.strip(striprev, tr)
 
 def rebuildfncache(ui, repo):
     """Rebuilds the fncache file from repo history.