From 69b68b78f5a8d873cad2e3a0715c6c905ec5abc2 Mon Sep 17 00:00:00 2001 From: mrT23 Date: Wed, 8 Nov 2023 14:17:59 +0200 Subject: [PATCH] s --- pr_agent/algo/git_patch_processing.py | 2 +- pr_agent/algo/pr_processing.py | 4 ++-- pr_agent/git_providers/git_provider.py | 3 ++- pr_agent/git_providers/github_provider.py | 8 ++++++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/pr_agent/algo/git_patch_processing.py b/pr_agent/algo/git_patch_processing.py index 2978ac4a..480387fa 100644 --- a/pr_agent/algo/git_patch_processing.py +++ b/pr_agent/algo/git_patch_processing.py @@ -116,7 +116,7 @@ def omit_deletion_hunks(patch_lines) -> str: def handle_patch_deletions(patch: str, original_file_content_str: str, - new_file_content_str: str, file_name: str, edit_type: EDIT_TYPE = EDIT_TYPE.MODIFIED) -> str: + new_file_content_str: str, file_name: str, edit_type: EDIT_TYPE = EDIT_TYPE.UNKNOWN) -> str: """ Handle entire file or deletion patches. diff --git a/pr_agent/algo/pr_processing.py b/pr_agent/algo/pr_processing.py index 41c6ec74..e5b6f59e 100644 --- a/pr_agent/algo/pr_processing.py +++ b/pr_agent/algo/pr_processing.py @@ -18,9 +18,9 @@ from pr_agent.log import get_logger DELETED_FILES_ = "Deleted files:\n" -MORE_MODIFIED_FILES_ = "Additional modified files (not enough token budget to process):\n" +MORE_MODIFIED_FILES_ = "Additional modified files (insufficient token budget to process):\n" -ADDED_FILES_ = "Additional added files (not enough token budget to process):\n" +ADDED_FILES_ = "Additional added files (insufficient token budget to process):\n" OUTPUT_BUFFER_TOKENS_SOFT_THRESHOLD = 1000 OUTPUT_BUFFER_TOKENS_HARD_THRESHOLD = 600 diff --git a/pr_agent/git_providers/git_provider.py b/pr_agent/git_providers/git_provider.py index 6598af5d..01308f45 100644 --- a/pr_agent/git_providers/git_provider.py +++ b/pr_agent/git_providers/git_provider.py @@ -13,6 +13,7 @@ class EDIT_TYPE(Enum): DELETED = 2 MODIFIED = 3 RENAMED = 4 + UNKNOWN = 5 @dataclass @@ -22,7 +23,7 @@ class FilePatchInfo: patch: str filename: str tokens: int = -1 - edit_type: EDIT_TYPE = EDIT_TYPE.MODIFIED + edit_type: EDIT_TYPE = EDIT_TYPE.UNKNOWN old_filename: str = None diff --git a/pr_agent/git_providers/github_provider.py b/pr_agent/git_providers/github_provider.py index 5ed35d04..d9b7c9b1 100644 --- a/pr_agent/git_providers/github_provider.py +++ b/pr_agent/git_providers/github_provider.py @@ -13,7 +13,7 @@ from ..algo.utils import load_large_diff from ..config_loader import get_settings from ..log import get_logger from ..servers.utils import RateLimitExceeded -from .git_provider import FilePatchInfo, GitProvider, IncrementalPR +from .git_provider import FilePatchInfo, GitProvider, IncrementalPR, EDIT_TYPE class GithubProvider(GitProvider): @@ -129,7 +129,11 @@ class GithubProvider(GitProvider): if not patch: patch = load_large_diff(file.filename, new_file_content_str, original_file_content_str) - diff_files.append(FilePatchInfo(original_file_content_str, new_file_content_str, patch, file.filename)) + edit_type = EDIT_TYPE.MODIFIED + if file.status == 'added': + edit_type = EDIT_TYPE.ADDED + file_patch_canonical_structure = FilePatchInfo(original_file_content_str, new_file_content_str, patch, file.filename, edit_type=edit_type) + diff_files.append(file_patch_canonical_structure) self.diff_files = diff_files return diff_files