From c2f52539aa0b34dd15de3d0e5be41c27767c8795 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Tue, 27 Aug 2024 09:31:31 +0300 Subject: [PATCH] fix: handle deleted files in git patch processing and update section header logic --- pr_agent/algo/git_patch_processing.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pr_agent/algo/git_patch_processing.py b/pr_agent/algo/git_patch_processing.py index f9e0f73e..0d85a4d3 100644 --- a/pr_agent/algo/git_patch_processing.py +++ b/pr_agent/algo/git_patch_processing.py @@ -85,7 +85,9 @@ def extend_patch(original_file_str, patch_str, patch_extra_lines_before=0, for i,line, in enumerate(lines_before): if section_header in line: found_header = True - extended_start1 = extended_start1 + i + # Update start and size in one line each + extended_start1, extended_start2 = extended_start1 + i, extended_start2 + i + extended_size1, extended_size2 = extended_size1 - i, extended_size2 - i get_logger().debug(f"Found section header in line {i} before the hunk") section_header = '' break @@ -236,6 +238,10 @@ __old hunk__ line6 ... """ + # if the file was deleted, return a message indicating that the file was deleted + if hasattr(file, 'edit_type') and file.edit_type == EDIT_TYPE.DELETED: + return f"\n\n## file '{file.filename.strip()}' was deleted\n" + patch_with_lines_str = f"\n\n## file: '{file.filename.strip()}'\n" patch_lines = patch.splitlines() RE_HUNK_HEADER = re.compile(