From 0bb0a17187a2ca837c23a58ba283e17cfa021c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Havl=C3=AD=C4=8Dek?= Date: Thu, 25 Jul 2024 22:49:50 +0200 Subject: [PATCH] git: Fix git message parsing - Add data of Author and Date to footer --- src/git.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/git.rs b/src/git.rs index eca382b..a1835f2 100644 --- a/src/git.rs +++ b/src/git.rs @@ -32,7 +32,7 @@ pub fn read(options: ReadCommitMessageOptions) -> Vec { // See https://git-scm.com/docs/git-log let stdout = Command::new("git") .arg("log") - .arg("--pretty=%B") + .arg("--pretty=%B%n|%n%nAuthor: %aN <%aE>%nDate: %ad%ncommit %H") .arg("--no-merges") .arg("--no-decorate") .arg("--reverse") @@ -55,8 +55,10 @@ fn extract_commit_messages(input: &str) -> Vec { for commit in commits { let message_lines: Vec<&str> = commit.trim().lines().collect(); - let message = message_lines.join("\n"); - messages.push(message); + if !message_lines.is_empty() { + let message = message_lines.join("\n"); + messages.push(message); + } } messages @@ -89,7 +91,7 @@ pub fn parse_commit_message( for line in lines_iter { if line.trim().is_empty() { - if in_body { + if in_body || line.trim() == "|" { in_body = false; in_footer = true; }