diff --git a/pr_agent/git_providers/github_provider.py b/pr_agent/git_providers/github_provider.py index b0343ddf..1fd2ab1a 100644 --- a/pr_agent/git_providers/github_provider.py +++ b/pr_agent/git_providers/github_provider.py @@ -102,10 +102,14 @@ class GithubProvider(GitProvider): git_files = context.get("git_files", None) if git_files: return git_files + self.git_files = self.pr.get_files() + context["git_files"] = self.git_files + return self.git_files except Exception: - pass - self.git_files = context["git_files"] = self.pr.get_files() - return self.git_files + if not self.git_files: + self.git_files = self.pr.get_files() + return self.git_files + @retry(exceptions=RateLimitExceeded, tries=get_settings().github.ratelimit_retries, delay=2, backoff=2, jitter=(1, 3)) @@ -168,7 +172,11 @@ class GithubProvider(GitProvider): diff_files.append(file_patch_canonical_structure) self.diff_files = diff_files - context["diff_files"] = diff_files + try: + context["diff_files"] = diff_files + except Exception: + pass + return diff_files except GithubException.RateLimitExceededException as e: diff --git a/pr_agent/git_providers/utils.py b/pr_agent/git_providers/utils.py index 5e86c504..f6e4d7ad 100644 --- a/pr_agent/git_providers/utils.py +++ b/pr_agent/git_providers/utils.py @@ -22,6 +22,10 @@ def apply_repo_settings(pr_url): if not repo_settings: git_provider = get_git_provider()(pr_url) repo_settings = git_provider.get_repo_settings() + try: + context.set("git_files", repo_settings) + except Exception: + pass if repo_settings: repo_settings_file = None