mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 22:34:59 +00:00
Merge branch 'main' into help
This commit is contained in:
commit
500cc151a1
5 changed files with 33 additions and 11 deletions
|
@ -1,6 +1,10 @@
|
|||
|
||||
# Release history
|
||||
|
||||
### main branch
|
||||
|
||||
- Allow multiple use of `/undo`.
|
||||
|
||||
### Aider v0.42.0
|
||||
|
||||
- Performance release:
|
||||
|
|
|
@ -48,6 +48,7 @@ class Coder:
|
|||
abs_fnames = None
|
||||
repo = None
|
||||
last_aider_commit_hash = None
|
||||
aider_commit_hashes = set()
|
||||
aider_edited_files = None
|
||||
last_asked_for_commit_time = 0
|
||||
repo_map = None
|
||||
|
@ -117,6 +118,7 @@ class Coder:
|
|||
fnames=from_coder.get_inchat_relative_files(),
|
||||
done_messages=done_messages,
|
||||
cur_messages=from_coder.cur_messages,
|
||||
aider_commit_hashes=from_coder.aider_commit_hashes,
|
||||
)
|
||||
|
||||
use_kwargs.update(update) # override to complete the switch
|
||||
|
@ -226,6 +228,7 @@ class Coder:
|
|||
attribute_author=True,
|
||||
attribute_committer=True,
|
||||
attribute_commit_message=False,
|
||||
aider_commit_hashes=None,
|
||||
):
|
||||
if not fnames:
|
||||
fnames = []
|
||||
|
@ -233,6 +236,11 @@ class Coder:
|
|||
if io is None:
|
||||
io = InputOutput()
|
||||
|
||||
if aider_commit_hashes:
|
||||
self.aider_commit_hashes = aider_commit_hashes
|
||||
else:
|
||||
self.aider_commit_hashes = set()
|
||||
|
||||
self.chat_completion_call_hashes = []
|
||||
self.chat_completion_response_hashes = []
|
||||
self.need_commit_before_edits = set()
|
||||
|
@ -1454,6 +1462,7 @@ class Coder:
|
|||
if res:
|
||||
commit_hash, commit_message = res
|
||||
self.last_aider_commit_hash = commit_hash
|
||||
self.aider_commit_hashes.add(commit_hash)
|
||||
self.last_aider_commit_message = commit_message
|
||||
if self.show_diffs:
|
||||
self.commands.cmd_diff()
|
||||
|
|
|
@ -333,8 +333,9 @@ class Commands:
|
|||
)
|
||||
return
|
||||
|
||||
last_commit = self.coder.repo.repo.head.commit
|
||||
if last_commit.hexsha[:7] != self.coder.last_aider_commit_hash:
|
||||
last_commit_hash = self.coder.repo.repo.head.commit.hexsha[:7]
|
||||
last_commit_message = self.coder.repo.repo.head.commit.message.strip()
|
||||
if last_commit_hash not in self.coder.aider_commit_hashes:
|
||||
self.io.tool_error("The last commit was not made by aider in this chat session.")
|
||||
self.io.tool_error(
|
||||
"You could try `/git reset --hard HEAD^` but be aware that this is a destructive"
|
||||
|
@ -348,9 +349,12 @@ class Commands:
|
|||
# Move the HEAD back before the latest commit
|
||||
self.coder.repo.repo.git.reset("--soft", "HEAD~1")
|
||||
|
||||
self.io.tool_output(
|
||||
f"Commit `{self.coder.last_aider_commit_hash}` was reset and removed from git.\n"
|
||||
)
|
||||
self.io.tool_output(f"Removed: {last_commit_hash} {last_commit_message}")
|
||||
|
||||
# Get the current HEAD after undo
|
||||
current_head_hash = self.coder.repo.repo.head.commit.hexsha[:7]
|
||||
current_head_message = self.coder.repo.repo.head.commit.message.strip()
|
||||
self.io.tool_output(f"HEAD is: {current_head_hash} {current_head_message}")
|
||||
|
||||
if self.coder.main_model.send_undo_reply:
|
||||
return prompts.undo_command_reply
|
||||
|
@ -361,16 +365,17 @@ class Commands:
|
|||
self.io.tool_error("No git repository found.")
|
||||
return
|
||||
|
||||
if not self.coder.last_aider_commit_hash:
|
||||
self.io.tool_error("No previous aider commit found.")
|
||||
last_commit_hash = self.coder.repo.repo.head.commit.hexsha[:7]
|
||||
|
||||
if last_commit_hash not in self.coder.aider_commit_hashes:
|
||||
self.io.tool_error(f"Last commit {last_commit_hash} was not an aider commit.")
|
||||
self.io.tool_error("You could try `/git diff` or `/git diff HEAD^`.")
|
||||
return
|
||||
|
||||
commits = f"{self.coder.last_aider_commit_hash}~1"
|
||||
diff = self.coder.repo.diff_commits(
|
||||
self.coder.pretty,
|
||||
commits,
|
||||
self.coder.last_aider_commit_hash,
|
||||
"HEAD^",
|
||||
"HEAD",
|
||||
)
|
||||
|
||||
# don't use io.tool_output() because we don't want to log or further colorize
|
||||
|
|
|
@ -536,7 +536,7 @@ class TestCommands(TestCase):
|
|||
|
||||
# Store the commit hash
|
||||
last_commit_hash = repo.head.commit.hexsha[:7]
|
||||
coder.last_aider_commit_hash = last_commit_hash
|
||||
coder.aider_commit_hashes.add(last_commit_hash)
|
||||
|
||||
file_path.write_text("dirty content")
|
||||
|
||||
|
|
|
@ -12,6 +12,10 @@ cog.out(text)
|
|||
|
||||
# Release history
|
||||
|
||||
### main branch
|
||||
|
||||
- Allow multiple use of `/undo`.
|
||||
|
||||
### Aider v0.42.0
|
||||
|
||||
- Performance release:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue