Whitelist more /cmds for no dirty commit

This commit is contained in:
Paul Gauthier 2023-07-16 13:42:36 -03:00
parent 4447f61dc6
commit 5dc7bc055e
3 changed files with 26 additions and 2 deletions

View file

@ -1,5 +1,9 @@
# Release history # Release history
### GitHub main branch
-
### v0.9.0 ### v0.9.0
- Support for the OpenAI models in [Azure](https://aider.chat/docs/faq.html#azure) - Support for the OpenAI models in [Azure](https://aider.chat/docs/faq.html#azure)

View file

@ -407,8 +407,8 @@ class Coder:
if cmds: if cmds:
matching_commands, _, _ = cmds matching_commands, _, _ = cmds
if len(matching_commands) == 1: if len(matching_commands) == 1:
cmd = matching_commands[0] cmd = matching_commands[0][1:]
if cmd in ("/exit", "/commit"): if cmd in "add clear commit diff drop exit help ls tokens".split():
return return
if not self.dirty_commits: if not self.dirty_commits:

View file

@ -24,6 +24,26 @@ class TestCoder(unittest.TestCase):
def tearDown(self): def tearDown(self):
self.patcher.stop() self.patcher.stop()
def test_should_dirty_commit(self):
# Mock the IO object
mock_io = MagicMock()
with GitTemporaryDirectory():
repo = git.Repo(Path.cwd())
fname = Path("new.txt")
fname.touch()
repo.git.add(str(fname))
repo.git.commit("-m", "new")
# Initialize the Coder object with the mocked IO and mocked repo
coder = Coder.create(models.GPT4, None, mock_io)
fname.write_text("hi")
self.assertTrue(coder.should_dirty_commit("hi"))
self.assertFalse(coder.should_dirty_commit("/exit"))
self.assertFalse(coder.should_dirty_commit("/help"))
def test_check_for_file_mentions(self): def test_check_for_file_mentions(self):
# Mock the IO object # Mock the IO object
mock_io = MagicMock() mock_io = MagicMock()