equal
deleted
inserted
replaced
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): |