From 5147b3b5e10fcd48d3679bd0e7b261f345440881 Mon Sep 17 00:00:00 2001 From: Mathieu Arnold Date: Fri, 4 Jun 2021 13:53:38 +0200 Subject: [PATCH] .hooks/prepare-commit-msg: Enhance commit-msg hook. If a single port is updated, the hook now pre-fills in an appropriate subject line. --- .hooks/prepare-commit-msg | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.hooks/prepare-commit-msg b/.hooks/prepare-commit-msg index 88440fee43cc6..00c27a46c36de 100755 --- a/.hooks/prepare-commit-msg +++ b/.hooks/prepare-commit-msg @@ -28,6 +28,25 @@ esac outfile=$(mktemp /tmp/freebsd-git-commit.XXXXXXXX) exec 3> "$outfile" +if [ -z "$3" ] +then + what=$(git diff-index --name-only --cached --diff-filter=ACMR HEAD|sed -Ee 's/^([^\/]+\/[^\/]+).*/\1/'|sort -u|xargs) + + case $what in + *\ *) + # More than one port, do nothing + ;; + *) + # One port, prepare the commit message. + { + echo "# Uncomment and add a short description of why things changed." + echo "# $what: " + echo + } >&3 + ;; +esac +fi + # Create a commit message template from three parts: # # 1. The beginning of the git-provided template (up to the first comment-only