88 for group in SequenceMatcher(None, a, b).get_grouped_opcodes(n): |
88 for group in SequenceMatcher(None, a, b).get_grouped_opcodes(n): |
89 if not started: |
89 if not started: |
90 yield '--- {0}\t{1}{2}'.format(fromfile, fromfiledate, lineterm) |
90 yield '--- {0}\t{1}{2}'.format(fromfile, fromfiledate, lineterm) |
91 yield '+++ {0}\t{1}{2}'.format(tofile, tofiledate, lineterm) |
91 yield '+++ {0}\t{1}{2}'.format(tofile, tofiledate, lineterm) |
92 started = True |
92 started = True |
93 i1, i2, j1, j2 = group[0][1], group[-1][2], group[0][3], group[-1][4] |
93 i1 = group[0][1] |
|
94 i2 = group[-1][2] |
|
95 j1 = group[0][3] |
|
96 j2 = group[-1][4] |
94 yield "@@ -{0:d},{1:d} +{2:d},{3:d} @@{4}".format( |
97 yield "@@ -{0:d},{1:d} +{2:d},{3:d} @@{4}".format( |
95 i1 + 1, i2 - i1, j1 + 1, j2 - j1, lineterm) |
98 i1 + 1, i2 - i1, j1 + 1, j2 - j1, lineterm) |
96 for tag, i1, i2, j1, j2 in group: |
99 for tag, i1, i2, j1, j2 in group: |
97 if tag == 'equal': |
100 if tag == 'equal': |
98 for line in a[i1:i2]: |
101 for line in a[i1:i2]: |