aboutsummaryrefslogtreecommitdiff
path: root/.hooks
diff options
context:
space:
mode:
authorMathieu Arnold <mat@FreeBSD.org>2021-06-04 11:52:18 +0000
committerMathieu Arnold <mat@FreeBSD.org>2021-06-04 12:03:53 +0000
commitd1c97575f0c50b8c18d1958eefb258ba7b176452 (patch)
treee52098c8172e3fecf8e6432c827e0dec0d45a5ea /.hooks
parent196cb1deb76c167cc1a853917dec42184b773d8b (diff)
downloadports-d1c97575f0c50b8c18d1958eefb258ba7b176452.tar.gz
ports-d1c97575f0c50b8c18d1958eefb258ba7b176452.zip
.hooks/prepare-commit-msg: Cleanup.
Instead of writing everything in the new commit template all at once in a large here document, do it cleanly one command at a time. (cherry picked from commit d744a8de4295aa3ba4fc6caf011743d661d98e29)
Diffstat (limited to '.hooks')
-rwxr-xr-x.hooks/prepare-commit-msg11
1 files changed, 8 insertions, 3 deletions
diff --git a/.hooks/prepare-commit-msg b/.hooks/prepare-commit-msg
index 12f26c74d0b6..88440fee43cc 100755
--- a/.hooks/prepare-commit-msg
+++ b/.hooks/prepare-commit-msg
@@ -26,6 +26,7 @@ merge)
esac
outfile=$(mktemp /tmp/freebsd-git-commit.XXXXXXXX)
+exec 3> "$outfile"
# Create a commit message template from three parts:
#
@@ -38,8 +39,9 @@ outfile=$(mktemp /tmp/freebsd-git-commit.XXXXXXXX)
# line to the end of the file) which lists files staged for commit, files
# not staged, and untracked files.
-cat >"$outfile" <<EOF
-$(awk '1;/^#$/{exit}' "$1")
+awk '1;/^#$/{exit}' "$1" >&3
+
+cat >&3 <<EOF
# category/port: Subject goes here, max 50 cols -|
# <then a blank line>
# 72 columns --|
@@ -65,7 +67,10 @@ $(awk '1;/^#$/{exit}' "$1")
#
# "Pull Request" and "Differential Revision" require the *full* GitHub or
# Phabricator URL.
-$(awk '/^#$/,EOF' "$1")
EOF
+awk '/^#$/,EOF' "$1" >&3
+
+exec 3>&-
+
mv "$outfile" "$1"