Compare commits
2 Commits
b8f095e1a9
...
929f08419d
Author | SHA1 | Date | |
---|---|---|---|
929f08419d | |||
109edc9ee5 |
@ -29,7 +29,7 @@ class ShiftedLines(Sized, Iterable):
|
|||||||
|
|
||||||
class LineShiftChecker:
|
class LineShiftChecker:
|
||||||
SUBMODULE_MODE = '160000'
|
SUBMODULE_MODE = '160000'
|
||||||
DIFF_BLOCK_REGEX = r'@@ -(\d+),(\d+) \+(\d+),(\d+) @@'
|
DIFF_BLOCK_REGEX = r'@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@'
|
||||||
|
|
||||||
def __init__(self, revision_since: str, revision_until: str) -> None:
|
def __init__(self, revision_since: str, revision_until: str) -> None:
|
||||||
self.revision_since = revision_since
|
self.revision_since = revision_since
|
||||||
@ -55,8 +55,8 @@ class LineShiftChecker:
|
|||||||
for line in process_output:
|
for line in process_output:
|
||||||
matches = re.search(LineShiftChecker.DIFF_BLOCK_REGEX, line)
|
matches = re.search(LineShiftChecker.DIFF_BLOCK_REGEX, line)
|
||||||
if matches:
|
if matches:
|
||||||
diff_block_src_start = int(matches.group(1))
|
diff_block_src_start = max(int(matches.group(1)), 1) # line number should never be 0
|
||||||
diff_block_dst_start = int(matches.group(3))
|
diff_block_dst_start = max(int(matches.group(2)), 1) # line number should never be 0
|
||||||
|
|
||||||
# fill shifted lines between 2 diff blocks
|
# fill shifted lines between 2 diff blocks
|
||||||
for i in range(0, diff_block_src_start - src_line_index):
|
for i in range(0, diff_block_src_start - src_line_index):
|
||||||
|
Loading…
Reference in New Issue
Block a user