Patchwork D291: repair: refactor broken linkrev collection

login
register
mail settings
Submitter phabricator
Date Aug. 9, 2017, 3:36 p.m.
Message ID <4401500ecf7694a10e7e832332c336a1@localhost.localdomain>
Download mbox | patch
Permalink /patch/22808/
State Not Applicable
Headers show

Comments

phabricator - Aug. 9, 2017, 3:36 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG6626d12e7a85: repair: refactor broken linkrev collection (authored by durham).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D291?vs=661&id=692

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

AFFECTED FILES
  mercurial/repair.py

CHANGE DETAILS




To: durham, #hg-reviewers
Cc: lothiraldan, mercurial-devel

Patch

diff --git a/mercurial/repair.py b/mercurial/repair.py
--- a/mercurial/repair.py
+++ b/mercurial/repair.py
@@ -67,16 +67,20 @@ 
 
     return sorted(files)
 
+def _collectrevlog(revlog, striprev):
+    _, brokenset = revlog.getstrippoint(striprev)
+    return [revlog.linkrev(r) for r in brokenset]
+
+def _collectmanifest(repo, striprev):
+    return _collectrevlog(repo.manifestlog._revlog, striprev)
+
 def _collectbrokencsets(repo, files, striprev):
     """return the changesets which will be broken by the truncation"""
     s = set()
-    def collectone(revlog):
-        _, brokenset = revlog.getstrippoint(striprev)
-        s.update([revlog.linkrev(r) for r in brokenset])
 
-    collectone(repo.manifestlog._revlog)
+    s.update(_collectmanifest(repo, striprev))
     for fname in files:
-        collectone(repo.file(fname))
+        s.update(_collectrevlog(repo.file(fname), striprev))
 
     return s