mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-06 05:40:38 +08:00
Merge pull request #1117 from Codium-ai/tr/patch_extra_lines_before_and_after
Add missing newline in extended patch and remove trailing whitespace
This commit is contained in:
@ -70,6 +70,7 @@ def extend_patch(original_file_str, patch_str, patch_extra_lines_before=0, patch
|
|||||||
extended_start2 = start2
|
extended_start2 = start2
|
||||||
extended_size2 = size2
|
extended_size2 = size2
|
||||||
delta_lines = []
|
delta_lines = []
|
||||||
|
extended_patch_lines.append('')
|
||||||
extended_patch_lines.append(
|
extended_patch_lines.append(
|
||||||
f'@@ -{extended_start1},{extended_size1} '
|
f'@@ -{extended_start1},{extended_size1} '
|
||||||
f'+{extended_start2},{extended_size2} @@ {section_header}')
|
f'+{extended_start2},{extended_size2} @@ {section_header}')
|
||||||
|
@ -195,7 +195,7 @@ def pr_generate_extended_diff(pr_languages: list,
|
|||||||
if not extended_patch:
|
if not extended_patch:
|
||||||
get_logger().warning(f"Failed to extend patch for file: {file.filename}")
|
get_logger().warning(f"Failed to extend patch for file: {file.filename}")
|
||||||
continue
|
continue
|
||||||
full_extended_patch = f"\n\n## {file.filename}\n\n{extended_patch}\n"
|
full_extended_patch = f"\n\n## {file.filename}\n{extended_patch.rstrip()}\n"
|
||||||
|
|
||||||
if add_line_numbers_to_hunks:
|
if add_line_numbers_to_hunks:
|
||||||
full_extended_patch = convert_to_hunks_with_lines_numbers(extended_patch, file)
|
full_extended_patch = convert_to_hunks_with_lines_numbers(extended_patch, file)
|
||||||
|
@ -10,7 +10,7 @@ class TestExtendPatch:
|
|||||||
original_file_str = 'line1\nline2\nline3\nline4\nline5'
|
original_file_str = 'line1\nline2\nline3\nline4\nline5'
|
||||||
patch_str = '@@ -2,2 +2,2 @@ init()\n-line2\n+new_line2\n line3'
|
patch_str = '@@ -2,2 +2,2 @@ init()\n-line2\n+new_line2\n line3'
|
||||||
num_lines = 1
|
num_lines = 1
|
||||||
expected_output = '@@ -1,4 +1,4 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4'
|
expected_output = '\n@@ -1,4 +1,4 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4'
|
||||||
actual_output = extend_patch(original_file_str, patch_str,
|
actual_output = extend_patch(original_file_str, patch_str,
|
||||||
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
||||||
assert actual_output == expected_output
|
assert actual_output == expected_output
|
||||||
@ -46,7 +46,7 @@ class TestExtendPatch:
|
|||||||
patch_str = '@@ -2,3 +2,3 @@ init()\n-line2\n+new_line2\n line3\n line4'
|
patch_str = '@@ -2,3 +2,3 @@ init()\n-line2\n+new_line2\n line3\n line4'
|
||||||
|
|
||||||
for num_lines in [1, 2, 3]: # check that even if we are over the number of lines in the file, the function still works
|
for num_lines in [1, 2, 3]: # check that even if we are over the number of lines in the file, the function still works
|
||||||
expected_output = '@@ -1,5 +1,5 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4\n line5'
|
expected_output = '\n@@ -1,5 +1,5 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4\n line5'
|
||||||
actual_output = extend_patch(original_file_str, patch_str,
|
actual_output = extend_patch(original_file_str, patch_str,
|
||||||
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
||||||
assert actual_output == expected_output
|
assert actual_output == expected_output
|
||||||
@ -56,7 +56,7 @@ class TestExtendPatch:
|
|||||||
original_file_str = 'line1\nline2\nline3\nline4\nline5\nline6'
|
original_file_str = 'line1\nline2\nline3\nline4\nline5\nline6'
|
||||||
patch_str = '@@ -2,3 +2,3 @@ init()\n-line2\n+new_line2\n line3\n line4\n@@ -4,1 +4,1 @@ init2()\n-line4\n+new_line4' # noqa: E501
|
patch_str = '@@ -2,3 +2,3 @@ init()\n-line2\n+new_line2\n line3\n line4\n@@ -4,1 +4,1 @@ init2()\n-line4\n+new_line4' # noqa: E501
|
||||||
num_lines = 1
|
num_lines = 1
|
||||||
expected_output = '@@ -1,5 +1,5 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4\n line5\n@@ -3,3 +3,3 @@ init2()\n line3\n-line4\n+new_line4\n line5' # noqa: E501
|
expected_output = '\n@@ -1,5 +1,5 @@ init()\n line1\n-line2\n+new_line2\n line3\n line4\n line5\n\n@@ -3,3 +3,3 @@ init2()\n line3\n-line4\n+new_line4\n line5' # noqa: E501
|
||||||
actual_output = extend_patch(original_file_str, patch_str,
|
actual_output = extend_patch(original_file_str, patch_str,
|
||||||
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
patch_extra_lines_before=num_lines, patch_extra_lines_after=num_lines)
|
||||||
assert actual_output == expected_output
|
assert actual_output == expected_output
|
||||||
@ -102,8 +102,8 @@ class TestExtendedPatchMoreLines:
|
|||||||
# Check that with no extra lines, the patches are the same as the original patches
|
# Check that with no extra lines, the patches are the same as the original patches
|
||||||
p0 = patches_extended_no_extra_lines[0].strip()
|
p0 = patches_extended_no_extra_lines[0].strip()
|
||||||
p1 = patches_extended_no_extra_lines[1].strip()
|
p1 = patches_extended_no_extra_lines[1].strip()
|
||||||
assert p0 == '## file1\n\n' + pr_languages[0]['files'][0].patch.strip()
|
assert p0 == '## file1\n' + pr_languages[0]['files'][0].patch.strip()
|
||||||
assert p1 == '## file2\n\n' + pr_languages[0]['files'][1].patch.strip()
|
assert p1 == '## file2\n' + pr_languages[0]['files'][1].patch.strip()
|
||||||
|
|
||||||
patches_extended_with_extra_lines, total_tokens, patches_extended_tokens = pr_generate_extended_diff(
|
patches_extended_with_extra_lines, total_tokens, patches_extended_tokens = pr_generate_extended_diff(
|
||||||
pr_languages, token_handler, add_line_numbers_to_hunks=False,
|
pr_languages, token_handler, add_line_numbers_to_hunks=False,
|
||||||
|
Reference in New Issue
Block a user