--- a/mercurial/repair.py Tue Jul 25 22:53:44 2017 -0400
+++ b/mercurial/repair.py Tue Aug 08 17:25:38 2017 -0700
@@ -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