Show More
@@ -140,7 +140,7 def splitblock(base1, lines1, base2, lin | |||||
140 | while i1 < e1 and lines1[i1] == 1 and lines2[i2] == 1: |
|
140 | while i1 < e1 and lines1[i1] == 1 and lines2[i2] == 1: | |
141 | i1 += 1 |
|
141 | i1 += 1 | |
142 | i2 += 1 |
|
142 | i2 += 1 | |
143 |
yield |
|
143 | yield (base1 + s1, base1 + i1, base2 + s2, base2 + i2), btype | |
144 | s1 = i1 |
|
144 | s1 = i1 | |
145 | s2 = i2 |
|
145 | s2 = i2 | |
146 |
|
146 | |||
@@ -244,8 +244,8 def allblocks(text1, text2, opts=None, l | |||||
244 | if i > 0: |
|
244 | if i > 0: | |
245 | s = diff[i - 1] |
|
245 | s = diff[i - 1] | |
246 | else: |
|
246 | else: | |
247 |
s = |
|
247 | s = (0, 0, 0, 0) | |
248 |
s = |
|
248 | s = (s[1], s1[0], s[3], s1[2]) | |
249 |
|
249 | |||
250 | # bdiff sometimes gives huge matches past eof, this check eats them, |
|
250 | # bdiff sometimes gives huge matches past eof, this check eats them, | |
251 | # and deals with the special first match case described above |
|
251 | # and deals with the special first match case described above | |
@@ -475,12 +475,11 def _unidiff(t1, t2, opts=defaultopts): | |||||
475 | yield x |
|
475 | yield x | |
476 | if prev: |
|
476 | if prev: | |
477 | # we've joined the previous hunk, record the new ending points. |
|
477 | # we've joined the previous hunk, record the new ending points. | |
478 | hunk[1] = a2 |
|
478 | hunk = (hunk[0], a2, hunk[2], b2, hunk[4]) | |
479 | hunk[3] = b2 |
|
|||
480 | delta = hunk[4] |
|
479 | delta = hunk[4] | |
481 | else: |
|
480 | else: | |
482 | # create a new hunk |
|
481 | # create a new hunk | |
483 |
hunk = |
|
482 | hunk = (astart, a2, bstart, b2, delta) | |
484 |
|
483 | |||
485 | delta[len(delta) :] = [b' ' + x for x in l1[astart:a1]] |
|
484 | delta[len(delta) :] = [b' ' + x for x in l1[astart:a1]] | |
486 | delta[len(delta) :] = [b'-' + x for x in old] |
|
485 | delta[len(delta) :] = [b'-' + x for x in old] |
@@ -51,9 +51,9 class blocksinrangetests(unittest.TestCa | |||||
51 | def setUp(self): |
|
51 | def setUp(self): | |
52 | self.blocks = list(mdiff.allblocks(text1, text2)) |
|
52 | self.blocks = list(mdiff.allblocks(text1, text2)) | |
53 | assert self.blocks == [ |
|
53 | assert self.blocks == [ | |
54 |
( |
|
54 | ((0, 3, 0, 2), b'!'), | |
55 | ((3, 7, 2, 6), b'='), |
|
55 | ((3, 7, 2, 6), b'='), | |
56 |
( |
|
56 | ((7, 12, 6, 12), b'!'), | |
57 | ((12, 12, 12, 12), b'='), |
|
57 | ((12, 12, 12, 12), b'='), | |
58 | ], self.blocks |
|
58 | ], self.blocks | |
59 |
|
59 |
General Comments 0
You need to be logged in to leave comments.
Login now