Patchwork D6794: repair: extract a helper for generating all manifest revlogs

login
register
mail settings
Submitter phabricator
Date Sept. 9, 2019, 4:09 p.m.
Message ID <87120be402694d03201799eeba8cadf8@localhost.localdomain>
Download mbox | patch
Permalink /patch/41592/
State Not Applicable
Headers show

Comments

phabricator - Sept. 9, 2019, 4:09 p.m.
Closed by commit rHG6d0fdba635e5: repair: extract a helper for generating all manifest revlogs (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6794?vs=16399&id=16463

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6794/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6794

AFFECTED FILES
  mercurial/repair.py

CHANGE DETAILS




To: martinvonz, #hg-reviewers, pulkit
Cc: mercurial-devel

Patch

diff --git a/mercurial/repair.py b/mercurial/repair.py
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -364,11 +364,11 @@ 
     callback.addnodes(nodelist)
 
 def stripmanifest(repo, striprev, tr, files):
-    revlog = repo.manifestlog.getstorage(b'')
-    revlog.strip(striprev, tr)
-    striptrees(repo, tr, striprev, files)
+    for revlog in manifestrevlogs(repo):
+        revlog.strip(striprev, tr)
 
-def striptrees(repo, tr, striprev, files):
+def manifestrevlogs(repo):
+    yield repo.manifestlog.getstorage(b'')
     if 'treemanifest' in repo.requirements:
         # This logic is safe if treemanifest isn't enabled, but also
         # pointless, so we skip it if treemanifest isn't enabled.
@@ -376,7 +376,7 @@ 
             if (unencoded.startswith('meta/') and
                 unencoded.endswith('00manifest.i')):
                 dir = unencoded[5:-12]
-                repo.manifestlog.getstorage(dir).strip(striprev, tr)
+                yield repo.manifestlog.getstorage(dir)
 
 def rebuildfncache(ui, repo):
     """Rebuilds the fncache file from repo history.