From 4479c5f11b94305b0785728f7b1032646833bdcf Mon Sep 17 00:00:00 2001 From: Brian Pham <6511700+brianpham93@users.noreply.github.com> Date: Sun, 1 Oct 2023 16:22:37 +0000 Subject: [PATCH 1/2] Azure Devops: Set file content as empty string when error --- .../git_providers/azuredevops_provider.py | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pr_agent/git_providers/azuredevops_provider.py b/pr_agent/git_providers/azuredevops_provider.py index cd0b88ca..34dc6f11 100644 --- a/pr_agent/git_providers/azuredevops_provider.py +++ b/pr_agent/git_providers/azuredevops_provider.py @@ -100,14 +100,17 @@ class AzureDevopsProvider: continue version = GitVersionDescriptor(version=head_sha.commit_id, version_type='commit') - new_file_content_str = self.azure_devops_client.get_item(repository_id=self.repo_slug, - path=file, - project=self.workspace_slug, - version_descriptor=version, - download=False, - include_content=True) + try: + new_file_content_str = self.azure_devops_client.get_item(repository_id=self.repo_slug, + path=file, + project=self.workspace_slug, + version_descriptor=version, + download=False, + include_content=True) - new_file_content_str = new_file_content_str.content + new_file_content_str = new_file_content_str.content + except Exception as e: + new_file_content_str = "" edit_type = EDIT_TYPE.MODIFIED if diff_types[file] == 'add': @@ -118,13 +121,16 @@ class AzureDevopsProvider: edit_type = EDIT_TYPE.RENAMED version = GitVersionDescriptor(version=base_sha.commit_id, version_type='commit') - original_file_content_str = self.azure_devops_client.get_item(repository_id=self.repo_slug, + try: + original_file_content_str = self.azure_devops_client.get_item(repository_id=self.repo_slug, path=file, project=self.workspace_slug, version_descriptor=version, download=False, include_content=True) - original_file_content_str = original_file_content_str.content + original_file_content_str = original_file_content_str.content + except Exception as e: + original_file_content_str = "" patch = load_large_diff(file, new_file_content_str, original_file_content_str) From 589d329a3cecc8c1fe34a88a5b1b9d81b68890ed Mon Sep 17 00:00:00 2001 From: Brian Pham <6511700+brianpham93@users.noreply.github.com> Date: Mon, 2 Oct 2023 05:37:27 +0000 Subject: [PATCH 2/2] Add error logs for troubleshooting --- pr_agent/git_providers/azuredevops_provider.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pr_agent/git_providers/azuredevops_provider.py b/pr_agent/git_providers/azuredevops_provider.py index 34dc6f11..e0f4760d 100644 --- a/pr_agent/git_providers/azuredevops_provider.py +++ b/pr_agent/git_providers/azuredevops_provider.py @@ -109,7 +109,8 @@ class AzureDevopsProvider: include_content=True) new_file_content_str = new_file_content_str.content - except Exception as e: + except Exception as error: + logging.error("Failed to retrieve new file content of %s at version %s. Error: %s", file, version, str(error)) new_file_content_str = "" edit_type = EDIT_TYPE.MODIFIED @@ -129,7 +130,8 @@ class AzureDevopsProvider: download=False, include_content=True) original_file_content_str = original_file_content_str.content - except Exception as e: + except Exception as error: + logging.error("Failed to retrieve original file content of %s at version %s. Error: %s", file, version, str(error)) original_file_content_str = "" patch = load_large_diff(file, new_file_content_str, original_file_content_str)