--- a/mercurial/repair.py Mon Nov 11 16:40:02 2013 -0800
+++ b/mercurial/repair.py Mon Nov 11 16:42:49 2013 -0800
@@ -38,16 +38,8 @@
"""return the changesets which will be broken by the truncation"""
s = set()
def collectone(revlog):
- linkgen = (revlog.linkrev(i) for i in revlog)
- # find the truncation point of the revlog
- for lrev in linkgen:
- if lrev >= striprev:
- break
- # see if any revision after this point has a linkrev
- # less than striprev (those will be broken by strip)
- for lrev in linkgen:
- if lrev < striprev:
- s.add(lrev)
+ _, brokenset = revlog.getstrippoint(striprev)
+ s.update([revlog.linkrev(r) for r in brokenset])
collectone(repo.manifest)
for fname in files: