Show More
@@ -31,7 +31,7 b' def ancestors(pfunc, *orignodes):' | |||||
31 | poison = 1 << (i + 1) |
|
31 | poison = 1 << (i + 1) | |
32 |
|
32 | |||
33 | gca = set() |
|
33 | gca = set() | |
34 |
interesting |
|
34 | interesting = len(nodes) | |
35 | nv = len(seen) - 1 |
|
35 | nv = len(seen) - 1 | |
36 | while nv >= 0 and interesting: |
|
36 | while nv >= 0 and interesting: | |
37 | v = nv |
|
37 | v = nv | |
@@ -45,10 +45,8 b' def ancestors(pfunc, *orignodes):' | |||||
45 | gca.add(v) |
|
45 | gca.add(v) | |
46 | sv |= poison |
|
46 | sv |= poison | |
47 | if v in nodes: |
|
47 | if v in nodes: | |
48 |
|
|
48 | # history is linear | |
49 |
|
|
49 | return set([v]) | |
50 | # history is linear |
|
|||
51 | return set([v]) |
|
|||
52 | if sv < poison: |
|
50 | if sv < poison: | |
53 | for p in pfunc(v): |
|
51 | for p in pfunc(v): | |
54 | sp = seen[p] |
|
52 | sp = seen[p] |
@@ -1208,7 +1208,7 b' static PyObject *find_gca_candidates(ind' | |||||
1208 | const bitmask allseen = (1ull << revcount) - 1; |
|
1208 | const bitmask allseen = (1ull << revcount) - 1; | |
1209 | const bitmask poison = 1ull << revcount; |
|
1209 | const bitmask poison = 1ull << revcount; | |
1210 | PyObject *gca = PyList_New(0); |
|
1210 | PyObject *gca = PyList_New(0); | |
1211 |
int i, v, interesting |
|
1211 | int i, v, interesting; | |
1212 | int maxrev = -1; |
|
1212 | int maxrev = -1; | |
1213 | long sp; |
|
1213 | long sp; | |
1214 | bitmask *seen; |
|
1214 | bitmask *seen; | |
@@ -1230,7 +1230,7 b' static PyObject *find_gca_candidates(ind' | |||||
1230 | for (i = 0; i < revcount; i++) |
|
1230 | for (i = 0; i < revcount; i++) | |
1231 | seen[revs[i]] = 1ull << i; |
|
1231 | seen[revs[i]] = 1ull << i; | |
1232 |
|
1232 | |||
1233 |
interesting = |
|
1233 | interesting = revcount; | |
1234 |
|
1234 | |||
1235 | for (v = maxrev; v >= 0 && interesting; v--) { |
|
1235 | for (v = maxrev; v >= 0 && interesting; v--) { | |
1236 | long sv = seen[v]; |
|
1236 | long sv = seen[v]; | |
@@ -1251,11 +1251,8 b' static PyObject *find_gca_candidates(ind' | |||||
1251 | } |
|
1251 | } | |
1252 | sv |= poison; |
|
1252 | sv |= poison; | |
1253 | for (i = 0; i < revcount; i++) { |
|
1253 | for (i = 0; i < revcount; i++) { | |
1254 |
if (revs[i] == v) |
|
1254 | if (revs[i] == v) | |
1255 | if (--left <= 1) |
|
1255 | goto done; | |
1256 | goto done; |
|
|||
1257 | break; |
|
|||
1258 | } |
|
|||
1259 | } |
|
1256 | } | |
1260 | } |
|
1257 | } | |
1261 | } |
|
1258 | } |
General Comments 0
You need to be logged in to leave comments.
Login now