Compare commits

..

2 Commits

View File

@ -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):