mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-31 01:35:00 +00:00
Merge 1f3a9cf984
into 3caab85931
This commit is contained in:
commit
929f58f645
4 changed files with 44 additions and 4 deletions
|
@ -398,6 +398,12 @@ def get_parser(default_config_files, git_root):
|
|||
|
||||
##########
|
||||
group = parser.add_argument_group("Git settings")
|
||||
group.add_argument(
|
||||
"--auto-commit-message",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
default=True,
|
||||
help="Enable/disable automatic LLM commit message generation for auto-commits and '/commit' without message.",
|
||||
)
|
||||
group.add_argument(
|
||||
"--git",
|
||||
action=argparse.BooleanOptionalAction,
|
||||
|
|
|
@ -335,6 +335,7 @@ class Coder:
|
|||
file_watcher=None,
|
||||
auto_copy_context=False,
|
||||
auto_accept_architect=True,
|
||||
auto_commit_message=True,
|
||||
):
|
||||
# Fill in a dummy Analytics if needed, but it is never .enable()'d
|
||||
self.analytics = analytics if analytics is not None else Analytics()
|
||||
|
@ -348,6 +349,7 @@ class Coder:
|
|||
|
||||
self.auto_copy_context = auto_copy_context
|
||||
self.auto_accept_architect = auto_accept_architect
|
||||
self.auto_commit_message = auto_commit_message
|
||||
|
||||
self.ignore_mentions = ignore_mentions
|
||||
if not self.ignore_mentions:
|
||||
|
@ -434,6 +436,7 @@ class Coder:
|
|||
fnames,
|
||||
None,
|
||||
models=main_model.commit_message_models(),
|
||||
auto_commit_message=self.auto_commit_message,
|
||||
)
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
|
|
@ -74,6 +74,7 @@ class GitRepo:
|
|||
subtree_only=False,
|
||||
git_commit_verify=True,
|
||||
attribute_co_authored_by=False, # Added parameter
|
||||
auto_commit_message=True,
|
||||
):
|
||||
self.io = io
|
||||
self.models = models
|
||||
|
@ -86,6 +87,7 @@ class GitRepo:
|
|||
self.attribute_commit_message_author = attribute_commit_message_author
|
||||
self.attribute_commit_message_committer = attribute_commit_message_committer
|
||||
self.attribute_co_authored_by = attribute_co_authored_by # Assign from parameter
|
||||
self.auto_commit_message = auto_commit_message
|
||||
self.commit_prompt = commit_prompt
|
||||
self.subtree_only = subtree_only
|
||||
self.git_commit_verify = git_commit_verify
|
||||
|
@ -208,10 +210,11 @@ class GitRepo:
|
|||
if message:
|
||||
commit_message = message
|
||||
else:
|
||||
user_language = None
|
||||
if coder:
|
||||
user_language = coder.get_user_language()
|
||||
commit_message = self.get_commit_message(diffs, context, user_language)
|
||||
if coder and self.auto_commit_message:
|
||||
user_language = coder.get_user_language() if coder else None
|
||||
commit_message = self.get_commit_message(diffs, context, user_language)
|
||||
else:
|
||||
commit_message = None
|
||||
|
||||
# Retrieve attribute settings, prioritizing coder.args if available
|
||||
if coder and hasattr(coder, "args"):
|
||||
|
|
|
@ -1433,6 +1433,34 @@ This command will print 'Hello, World!' to the console."""
|
|||
# (because user rejected the changes)
|
||||
mock_editor.run.assert_not_called()
|
||||
|
||||
def test_auto_commit_message_flag(self):
|
||||
with GitTemporaryDirectory():
|
||||
repo = git.Repo()
|
||||
fname = Path("test.txt")
|
||||
fname.touch()
|
||||
|
||||
# Test with auto_commit_message=True (default)
|
||||
io = InputOutput(yes=True)
|
||||
coder = Coder.create(
|
||||
self.GPT35,
|
||||
"diff",
|
||||
io=io,
|
||||
fnames=[str(fname)],
|
||||
auto_commit_message=True,
|
||||
)
|
||||
assert coder.repo.auto_commit_message is True
|
||||
|
||||
# Test with auto_commit_message=False
|
||||
io = InputOutput(yes=True)
|
||||
coder = Coder.create(
|
||||
self.GPT35,
|
||||
"diff",
|
||||
io=io,
|
||||
fnames=[str(fname)],
|
||||
auto_commit_message=False,
|
||||
)
|
||||
assert coder.repo.auto_commit_message is False
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue