mercurial/hbisect.py
changeset 9583 0491be4448bf
parent 8482 fc27c91fff2c
child 10263 25e572394f5c
equal deleted inserted replaced
9582:a25af3af941c 9583:0491be4448bf
    29 
    29 
    30     def buildancestors(bad, good):
    30     def buildancestors(bad, good):
    31         # only the earliest bad revision matters
    31         # only the earliest bad revision matters
    32         badrev = min([changelog.rev(n) for n in bad])
    32         badrev = min([changelog.rev(n) for n in bad])
    33         goodrevs = [changelog.rev(n) for n in good]
    33         goodrevs = [changelog.rev(n) for n in good]
    34         # build ancestors array
    34         goodrev = min(goodrevs)
    35         ancestors = [[]] * (len(changelog) + 1) # an extra for [-1]
    35         # build visit array
       
    36         ancestors = [None] * (len(changelog) + 1) # an extra for [-1]
       
    37 
       
    38         # set nodes descended from goodrev
       
    39         ancestors[goodrev] = []
       
    40         for rev in xrange(goodrev + 1, len(changelog)):
       
    41             for prev in clparents(rev):
       
    42                 if ancestors[prev] == []:
       
    43                     ancestors[rev] = []
    36 
    44 
    37         # clear good revs from array
    45         # clear good revs from array
    38         for node in goodrevs:
    46         for node in goodrevs:
    39             ancestors[node] = None
    47             ancestors[node] = None
    40         for rev in xrange(len(changelog), -1, -1):
    48         for rev in xrange(len(changelog), -1, -1):