Fixed /commit after repo refactor, added test coverage

This commit is contained in:
Paul Gauthier 2023-08-04 06:39:04 -03:00
parent 5fe0652099
commit c271bfd932
2 changed files with 24 additions and 4 deletions

View file

@ -85,7 +85,7 @@ class Commands:
return return
commit_message = args.strip() commit_message = args.strip()
self.coder.commit(message=commit_message, which="repo_files") self.coder.repo.commit(message=commit_message)
def cmd_clear(self, args): def cmd_clear(self, args):
"Clear the chat history" "Clear the chat history"
@ -307,9 +307,7 @@ class Commands:
if self.coder.repo and git_added: if self.coder.repo and git_added:
git_added = " ".join(git_added) git_added = " ".join(git_added)
commit_message = f"aider: Added {git_added}" commit_message = f"aider: Added {git_added}"
self.coder.repo.repo.git.commit("-m", commit_message, "--no-verify") self.coder.repo.commit(message=commit_message)
commit_hash = self.coder.repo.repo.head.commit.hexsha[:7]
self.io.tool_output(f"Commit {commit_hash} {commit_message}")
if not added_fnames: if not added_fnames:
return return

View file

@ -254,3 +254,25 @@ class TestCommands(TestCase):
self.assertIn(filenames[0], coder.abs_fnames) self.assertIn(filenames[0], coder.abs_fnames)
self.assertNotIn(filenames[1], coder.abs_fnames) self.assertNotIn(filenames[1], coder.abs_fnames)
self.assertIn(filenames[2], coder.abs_fnames) self.assertIn(filenames[2], coder.abs_fnames)
def test_cmd_commit(self):
with GitTemporaryDirectory():
fname = "test.txt"
with open(fname, "w") as f:
f.write("test")
repo = git.Repo()
repo.git.add(fname)
repo.git.commit("-m", "initial")
io = InputOutput(pretty=False, yes=True)
coder = Coder.create(models.GPT35, None, io)
commands = Commands(io, coder)
self.assertFalse(repo.is_dirty())
with open(fname, "w") as f:
f.write("new")
self.assertTrue(repo.is_dirty())
commit_message = "Test commit message"
commands.cmd_commit(commit_message)
self.assertFalse(repo.is_dirty())