From 73f5fb05e597dcd7bc5b811ae1cf90410cbb9611 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 11 Jul 2023 08:40:30 -0700 Subject: [PATCH] Make rel_repo_dir robust on windows when cwd and the repo are on different drives --- aider/coders/base_coder.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/aider/coders/base_coder.py b/aider/coders/base_coder.py index 39ef5e07d..e304bcdf2 100755 --- a/aider/coders/base_coder.py +++ b/aider/coders/base_coder.py @@ -160,7 +160,7 @@ class Coder: self.abs_fnames = set([str(Path(fname).resolve()) for fname in fnames]) if self.repo: - rel_repo_dir = os.path.relpath(self.repo.git_dir, os.getcwd()) + rel_repo_dir = self.get_rel_repo_dir() self.io.tool_output(f"Git repo: {rel_repo_dir}") else: self.io.tool_output("Git repo: none") @@ -210,6 +210,12 @@ class Coder: self.root = utils.safe_abs_path(self.root) + def get_rel_repo_dir(self): + try: + return os.path.relpath(self.repo.git_dir, os.getcwd()) + except ValueError: + return self.repo.git_dir + def add_rel_fname(self, rel_fname): self.abs_fnames.add(self.abs_root_path(rel_fname)) @@ -265,7 +271,7 @@ class Coder: new_files.append(relative_fname) if new_files: - rel_repo_dir = os.path.relpath(self.repo.git_dir, os.getcwd()) + rel_repo_dir = self.get_rel_repo_dir() self.io.tool_output(f"Files not tracked in {rel_repo_dir}:") for fn in new_files: