Show More
@@ -38,22 +38,18 b' class filelog(revlog):' | |||||
38 | revs.reverse() |
|
38 | revs.reverse() | |
39 | prev = [] |
|
39 | prev = [] | |
40 | annotate = [] |
|
40 | annotate = [] | |
|
41 | ||||
41 | for node in revs: |
|
42 | for node in revs: | |
42 | curr = self.read(node).splitlines(1) |
|
43 | curr = self.read(node).splitlines(1) | |
43 | linkrev = self.linkrev(node) |
|
44 | linkrev = self.linkrev(node) | |
44 | sm = SequenceMatcher(None, prev, curr) |
|
45 | sm = SequenceMatcher(None, prev, curr) | |
45 |
|
|
46 | new = [] | |
46 | for o, m, n, s, t in sm.get_opcodes(): |
|
47 | for o, m, n, s, t in sm.get_opcodes(): | |
47 |
if o |
|
48 | if o == 'equal': | |
48 |
annotate[m |
|
49 | new += annotate[m:n] | |
49 | [ (linkrev, l) for l in curr[s:t]] |
|
50 | else: | |
50 | if o == 'insert': |
|
51 | new += [(linkrev, l) for l in curr[s:t]] | |
51 | offset += m-n |
|
52 | annotate, prev = new, curr | |
52 | elif o == 'delete': |
|
|||
53 | del annotate[m+offset:n+offset] |
|
|||
54 | offset -= m-n |
|
|||
55 | assert len(annotate) == len(curr) |
|
|||
56 | prev = curr |
|
|||
57 | return annotate |
|
53 | return annotate | |
58 |
|
54 | |||
59 | class manifest(revlog): |
|
55 | class manifest(revlog): |
General Comments 0
You need to be logged in to leave comments.
Login now