From a06670bc274efedd027c723ee14d39705f395cf0 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Sun, 11 Aug 2024 15:20:27 +0300 Subject: [PATCH] Fix incorrect logic for extending patch size beyond original file length --- pr_agent/algo/git_patch_processing.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pr_agent/algo/git_patch_processing.py b/pr_agent/algo/git_patch_processing.py index 69e06fcf1..af22549f3 100644 --- a/pr_agent/algo/git_patch_processing.py +++ b/pr_agent/algo/git_patch_processing.py @@ -51,11 +51,12 @@ def extend_patch(original_file_str, patch_str, patch_extra_lines_before=0, patch extended_start1 = max(1, start1 - patch_extra_lines_before) extended_size1 = size1 + (start1 - extended_start1) + patch_extra_lines_after if extended_start1 - 1 + extended_size1 > len(original_lines): + # we cannot extend beyond the original file extended_size1 = len_original_lines - extended_start1 + 1 extended_start2 = max(1, start2 - patch_extra_lines_before) extended_size2 = size2 + (start2 - extended_start2) + patch_extra_lines_after - if extended_start2 - 1 + extended_size2 > len_original_lines: - extended_size2 = len_original_lines - extended_start2 + 1 + # if extended_start2 - 1 + extended_size2 > len_original_lines: # incorrect - after the PR, the file may have more lines + # extended_size2 = len_original_lines - extended_start2 + 1 delta_lines = original_lines[extended_start1 - 1:start1 - 1] delta_lines = [f' {line}' for line in delta_lines] if section_header: