Skip to content

Commit

Permalink
git: Disable commit message generation when commit not possible (#26329)
Browse files Browse the repository at this point in the history
## Issue:

- `Generate Commit Message` will generate a random message if there are
no changes.
<img width="614" alt="image"
src="https://github.com/user-attachments/assets/c16cadac-01af-47c0-a2db-a5bbf62f84bb"
/>


## After Fixed:

- `Generate Commit Message` will be disabled if commit is not possible
<img width="610" alt="image"
src="https://github.com/user-attachments/assets/5ea9ca70-6fa3-4144-ab4e-be7a986d5496"
/>


## Release Notes:

- Fixed: Disable commit message generation when commit is not possible
  • Loading branch information
0xRichardH authored Mar 10, 2025
1 parent 7c3eecc commit d732b8b
Showing 1 changed file with 23 additions and 5 deletions.
28 changes: 23 additions & 5 deletions crates/git_ui/src/git_panel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1453,6 +1453,10 @@ impl GitPanel {

/// Generates a commit message using an LLM.
pub fn generate_commit_message(&mut self, cx: &mut Context<Self>) {
if !self.can_commit() {
return;
}

let model = match current_language_model(cx) {
Some(value) => value,
None => return,
Expand Down Expand Up @@ -2291,14 +2295,28 @@ impl GitPanel {
.into_any_element();
}

let can_commit = self.can_commit();
let editor_focus_handle = self.commit_editor.focus_handle(cx);
IconButton::new("generate-commit-message", IconName::AiEdit)
.shape(ui::IconButtonShape::Square)
.icon_color(Color::Muted)
.tooltip(Tooltip::for_action_title_in(
"Generate Commit Message",
&git::GenerateCommitMessage,
&self.commit_editor.focus_handle(cx),
))
.tooltip(move |window, cx| {
if can_commit {
Tooltip::for_action_in(
"Generate Commit Message",
&git::GenerateCommitMessage,
&editor_focus_handle,
window,
cx,
)
} else {
Tooltip::simple(
"You must have either staged changes or tracked files to generate a commit message",
cx,
)
}
})
.disabled(!can_commit)
.on_click(cx.listener(move |this, _event, _window, cx| {
this.generate_commit_message(cx);
}))
Expand Down

0 comments on commit d732b8b

Please sign in to comment.