diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 9ec8bf547..286e759ed 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -29,7 +29,7 @@ from aider.io import ConfirmGroup, InputOutput from aider.linter import Linter from aider.llm import litellm from aider.mdstream import MarkdownStream -from aider.repo import GitRepo +from aider.repo import GitRepo, ANY_GIT_ERROR from aider.repomap import RepoMap from aider.run_cmd import run_cmd from aider.sendchat import retry_exceptions, send_completion @@ -1784,7 +1784,7 @@ class Coder: self.reflected_message = str(err) return edited - except (git.exc.ODBError, git.exc.GitError) as err: + except ANY_GIT_ERROR as err: self.io.tool_error(str(err)) return edited except Exception as err: diff --git a/aider/commands.py b/aider/commands.py index c5c7a3abd..763884a5e 100644 --- a/aider/commands.py +++ b/aider/commands.py @@ -14,6 +14,7 @@ from aider import models, prompts, voice from aider.format_settings import format_settings from aider.help import Help, install_help_extra from aider.llm import litellm +from aider.repo import ANY_GIT_ERROR from aider.run_cmd import run_cmd from aider.scrape import Scraper, install_playwright from aider.utils import is_image_file @@ -450,7 +451,7 @@ class Commands: try: remote_head = self.coder.repo.repo.git.rev_parse(f"origin/{current_branch}") has_origin = True - except (git.exc.ODBError, git.exc.GitError): + except ANY_GIT_ERROR: has_origin = False if has_origin: diff --git a/aider/main.py b/aider/main.py index 0bd2c9e8d..c4a6c2bea 100644 --- a/aider/main.py +++ b/aider/main.py @@ -17,7 +17,7 @@ from aider.format_settings import format_settings, scrub_sensitive_info from aider.history import ChatSummary from aider.io import InputOutput from aider.llm import litellm # noqa: F401; properly init litellm on launch -from aider.repo import GitRepo, UnableToCountRepoFiles +from aider.repo import ANY_GIT_ERROR, GitRepo, UnableToCountRepoFiles from aider.report import report_uncaught_exceptions from aider.versioncheck import check_version, install_from_main_branch, install_upgrade @@ -56,7 +56,7 @@ def make_new_repo(git_root, io): try: repo = git.Repo.init(git_root) check_gitignore(git_root, io, False) - except (git.exc.ODBError, git.exc.GitError) as err: # issue #1233 + except ANY_GIT_ERROR as err: # issue #1233 io.tool_error(f"Unable to create git repo in {git_root}") io.tool_error(str(err)) return @@ -114,7 +114,7 @@ def check_gitignore(git_root, io, ask=True): repo = git.Repo(git_root) if repo.ignored(".aider"): return - except (git.exc.ODBError, git.exc.GitError): + except ANY_GIT_ERROR: pass pat = ".aider*" diff --git a/aider/repo.py b/aider/repo.py index 6a4effb9c..c31df1a0e 100644 --- a/aider/repo.py +++ b/aider/repo.py @@ -15,6 +15,9 @@ class UnableToCountRepoFiles(Exception): pass +ANY_GIT_ERROR = (git.exc.ODBError, git.exc.GitError) + + class GitRepo: repo = None aider_ignore_file = None @@ -71,7 +74,7 @@ class GitRepo: repo_path = git.Repo(fname, search_parent_directories=True).working_dir repo_path = utils.safe_abs_path(repo_path) repo_paths.append(repo_path) - except (git.exc.ODBError, git.exc.GitError): + except ANY_GIT_ERROR: pass num_repos = len(set(repo_paths)) @@ -205,7 +208,7 @@ class GitRepo: try: commits = self.repo.iter_commits(active_branch) current_branch_has_commits = any(commits) - except (git.exc.ODBError, git.exc.GitError): + except ANY_GIT_ERROR: pass except TypeError: pass @@ -373,7 +376,7 @@ class GitRepo: def get_head_commit(self): try: return self.repo.head.commit - except (ValueError, git.exc.ODBError, git.exc.GitError): + except (ValueError,) + ANY_GIT_ERROR: return None def get_head_commit_sha(self, short=False):