Skip to content

Commit

Permalink
Git Config Commit Comments (#2145)
Browse files Browse the repository at this point in the history
Closes #2136
  • Loading branch information
Concelare committed Mar 22, 2024
1 parent 3d06b54 commit b15c864
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 6 deletions.
19 changes: 18 additions & 1 deletion asyncgit/src/sync/commit.rs
@@ -1,9 +1,12 @@
//! Git Api for Commits
use super::{CommitId, RepoPath};
use crate::{
error::Result,
sync::{repository::repo, utils::get_head_repo},
};
use git2::{ErrorCode, ObjectType, Repository, Signature};
use git2::{
message_prettify, ErrorCode, ObjectType, Repository, Signature,
};
use scopetime::scope_time;

///
Expand Down Expand Up @@ -119,6 +122,20 @@ pub fn tag_commit(
Ok(c)
}

/// Loads the comment prefix from config & uses it to prettify commit messages
pub fn commit_message_prettify(
repo_path: &RepoPath,
message: String,
) -> Result<String> {
let comment_char = repo(repo_path)?
.config()?
.get_string("core.commentChar")
.map(|char_string| char_string.chars().next())?
.unwrap_or('#') as u8;

Ok(message_prettify(message, Some(comment_char))?)
}

#[cfg(test)]
mod tests {
use crate::error::Result;
Expand Down
2 changes: 1 addition & 1 deletion asyncgit/src/sync/mod.rs
Expand Up @@ -5,7 +5,7 @@

pub mod blame;
pub mod branch;
mod commit;
pub mod commit;
mod commit_details;
pub mod commit_files;
mod commit_filter;
Expand Down
10 changes: 6 additions & 4 deletions src/popups/commit.rs
Expand Up @@ -11,8 +11,9 @@ use crate::{
ui::style::SharedTheme,
};
use anyhow::{bail, Ok, Result};
use asyncgit::sync::commit::commit_message_prettify;
use asyncgit::{
cached, message_prettify,
cached,
sync::{
self, get_config_string, CommitId, HookResult,
PrepareCommitMsgSource, RepoPathRef, RepoState,
Expand Down Expand Up @@ -195,7 +196,8 @@ impl CommitPopup {
drop(file);
std::fs::remove_file(&file_path)?;

message = message_prettify(message, Some(b'#'))?;
message =
commit_message_prettify(&self.repo.borrow(), message)?;
self.input.set_text(message);
self.input.show()?;

Expand Down Expand Up @@ -254,8 +256,8 @@ impl CommitPopup {
}
}

//TODO: honor `core.commentChar`
let mut msg = message_prettify(msg, Some(b'#'))?;
let mut msg =
commit_message_prettify(&self.repo.borrow(), msg)?;

if verify {
// run commit message check hook - can reject commit
Expand Down

0 comments on commit b15c864

Please sign in to comment.