mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-25 06:44:59 +00:00
fix: Improve handling of read-only files in the cmd_add
command
This commit is contained in:
parent
69dd55af5d
commit
8d59ce586c
2 changed files with 19 additions and 4 deletions
|
@ -592,7 +592,7 @@ class Commands:
|
||||||
if abs_file_path in self.coder.abs_fnames:
|
if abs_file_path in self.coder.abs_fnames:
|
||||||
self.io.tool_error(f"{matched_file} is already in the chat")
|
self.io.tool_error(f"{matched_file} is already in the chat")
|
||||||
elif abs_file_path in self.coder.abs_read_only_fnames:
|
elif abs_file_path in self.coder.abs_read_only_fnames:
|
||||||
if self.coder.repo and matched_file in self.coder.repo.get_tracked_files():
|
if self.coder.repo and self.coder.repo.path_in_repo(matched_file):
|
||||||
self.coder.abs_read_only_fnames.remove(abs_file_path)
|
self.coder.abs_read_only_fnames.remove(abs_file_path)
|
||||||
self.coder.abs_fnames.add(abs_file_path)
|
self.coder.abs_fnames.add(abs_file_path)
|
||||||
self.io.tool_output(
|
self.io.tool_output(
|
||||||
|
|
|
@ -561,9 +561,24 @@ class TestCommands(TestCase):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Mock the repo to simulate a tracked file
|
# Try to add the read-only file
|
||||||
coder.repo = mock.MagicMock()
|
commands.cmd_add(str(test_file))
|
||||||
coder.repo.is_tracked_file.return_value = True
|
|
||||||
|
# It's not in the repo, should not do anything
|
||||||
|
self.assertFalse(
|
||||||
|
any(os.path.samefile(str(test_file.resolve()), fname) for fname in coder.abs_fnames)
|
||||||
|
)
|
||||||
|
self.assertTrue(
|
||||||
|
any(
|
||||||
|
os.path.samefile(str(test_file.resolve()), fname)
|
||||||
|
for fname in coder.abs_read_only_fnames
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
repo = git.Repo()
|
||||||
|
repo.git.add(str(test_file))
|
||||||
|
repo.git.commit("-m", "initial")
|
||||||
|
|
||||||
# Try to add the read-only file
|
# Try to add the read-only file
|
||||||
commands.cmd_add(str(test_file))
|
commands.cmd_add(str(test_file))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue