From 8a6f0a17233828cd82c98aa91987bc63e5a4dbd7 Mon Sep 17 00:00:00 2001 From: "chawley (penguin)" Date: Thu, 24 Apr 2025 19:37:20 -0400 Subject: [PATCH] Added CHANGELOG function A basic function to generate CHANGELOG.md from the last 25 commits in a repository. --- .shell_functions | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.shell_functions b/.shell_functions index 8013c8a..bccf89c 100644 --- a/.shell_functions +++ b/.shell_functions @@ -97,3 +97,18 @@ testmerge() { git diff --cached echo "'git merge --abort' when done" } + +git_changelog() { + echo "# Last 25 Commits" > CHANGELOG.md # Add the header + git log --pretty=format:"%h|%ad|%an|%s" --date=short -n 25 | \ + awk -F'|' '{ + printf "## %s (%s, %s) - %s\n\n", $1, $3, $2, $4; + commit_hash = $1; + cmd = "git show -s --format='%x09%b' " commit_hash; + while ((cmd | getline line) > 0) { + printf "%s\n", line; + } + close(cmd); + printf "\n"; + }' >> CHANGELOG.md +}