equal
deleted
inserted
replaced
1050 window, we first walk forwards to gather data, then in the desired |
1050 window, we first walk forwards to gather data, then in the desired |
1051 order (usually backwards) to display it. |
1051 order (usually backwards) to display it. |
1052 |
1052 |
1053 This function returns an iterator. The iterator yields 3-tuples. |
1053 This function returns an iterator. The iterator yields 3-tuples. |
1054 They will be of one of the following forms: |
1054 They will be of one of the following forms: |
1055 |
|
1056 "window", incrementing, lastrev: stepping through a window, |
|
1057 positive if walking forwards through revs, last rev in the |
|
1058 sequence iterated over - use to reset state for the current window |
|
1059 |
1055 |
1060 "add", rev, fns: out-of-order traversal of the given filenames |
1056 "add", rev, fns: out-of-order traversal of the given filenames |
1061 fns, which changed during revision rev - use to gather data for |
1057 fns, which changed during revision rev - use to gather data for |
1062 possible display |
1058 possible display |
1063 |
1059 |
1216 else: |
1212 else: |
1217 def want(rev): |
1213 def want(rev): |
1218 return rev in wanted |
1214 return rev in wanted |
1219 |
1215 |
1220 for i, window in increasing_windows(0, len(revs)): |
1216 for i, window in increasing_windows(0, len(revs)): |
1221 yield 'window', revs[0] < revs[-1], revs[-1] |
|
1222 nrevs = [rev for rev in revs[i:i+window] if want(rev)] |
1217 nrevs = [rev for rev in revs[i:i+window] if want(rev)] |
1223 for rev in sorted(nrevs): |
1218 for rev in sorted(nrevs): |
1224 fns = fncache.get(rev) |
1219 fns = fncache.get(rev) |
1225 if not fns: |
1220 if not fns: |
1226 def fns_generator(): |
1221 def fns_generator(): |