mercurial/repair.py
changeset 12057 798ef5b19cb1
parent 11791 00cde9bddbe4
child 13362 ee01d9d84115
equal deleted inserted replaced
12054:5d22e631c365 12057:798ef5b19cb1
    33 
    33 
    34     return sorted(files)
    34     return sorted(files)
    35 
    35 
    36 def _collectextranodes(repo, files, link):
    36 def _collectextranodes(repo, files, link):
    37     """return the nodes that have to be saved before the strip"""
    37     """return the nodes that have to be saved before the strip"""
    38     def collectone(revlog):
    38     def collectone(cl, revlog):
    39         extra = []
    39         extra = []
    40         startrev = count = len(revlog)
    40         startrev = count = len(revlog)
    41         # find the truncation point of the revlog
    41         # find the truncation point of the revlog
    42         for i in xrange(count):
    42         for i in xrange(count):
    43             lrev = revlog.linkrev(i)
    43             lrev = revlog.linkrev(i)
    55 
    55 
    56         return extra
    56         return extra
    57 
    57 
    58     extranodes = {}
    58     extranodes = {}
    59     cl = repo.changelog
    59     cl = repo.changelog
    60     extra = collectone(repo.manifest)
    60     extra = collectone(cl, repo.manifest)
    61     if extra:
    61     if extra:
    62         extranodes[1] = extra
    62         extranodes[1] = extra
    63     for fname in files:
    63     for fname in files:
    64         f = repo.file(fname)
    64         f = repo.file(fname)
    65         extra = collectone(f)
    65         extra = collectone(cl, f)
    66         if extra:
    66         if extra:
    67             extranodes[fname] = extra
    67             extranodes[fname] = extra
    68 
    68 
    69     return extranodes
    69     return extranodes
    70 
    70