don't try and commit unless there are changes #264

This commit is contained in:
Paul Gauthier 2023-09-25 14:55:00 -07:00
parent 7910c2f731
commit 6d5827643f
2 changed files with 22 additions and 1 deletions

View file

@ -53,10 +53,13 @@ class GitRepo:
if not fnames and not self.repo.is_dirty():
return
diffs = self.get_diffs(fnames)
if not diffs:
return
if message:
commit_message = message
else:
diffs = self.get_diffs(fnames)
commit_message = self.get_commit_message(diffs, context)
if not commit_message:

View file

@ -194,3 +194,21 @@ class TestRepo(unittest.TestCase):
raw_repo.git.commit("-m", "new")
fnames = git_repo.get_tracked_files()
self.assertIn(str(fname), fnames)
@patch("aider.repo.simple_send_with_retries")
def test_noop_commit(self, mock_send):
mock_send.return_value = '"a good commit message"'
with GitTemporaryDirectory():
# new repo
raw_repo = git.Repo()
# add it, but no commits at all in the raw_repo yet
fname = Path("file.txt")
fname.touch()
raw_repo.git.add(str(fname))
raw_repo.git.commit("-m", "new")
git_repo = GitRepo(InputOutput(), None, None)
git_repo.commit(fnames=[str(fname)])