diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-09-30 16:36:43 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-09-30 16:36:43 +0200 |
commit | e0d14f7b20a6e859a988206b4e16981d6a67bf87 (patch) | |
tree | c029ef323d2c5cbbbe4a633ba0e1ad3d891ad9c1 /common/git_template/hooks/prepare-commit-msg.sample | |
parent | fix(common/init): Be smarter, when suggesting an owner name (diff) | |
download | flake-templates-e0d14f7b20a6e859a988206b4e16981d6a67bf87.tar.gz flake-templates-e0d14f7b20a6e859a988206b4e16981d6a67bf87.zip |
feat(common/init): Ship a full git_template
Diffstat (limited to 'common/git_template/hooks/prepare-commit-msg.sample')
-rw-r--r-- | common/git_template/hooks/prepare-commit-msg.sample | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/common/git_template/hooks/prepare-commit-msg.sample b/common/git_template/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..24283a0 --- /dev/null +++ b/common/git_template/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/nix/store/57hpz6jj3pnjwdwwg6jgmj9gr7kxs8zp-perl-5.38.2/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /nix/store/57hpz6jj3pnjwdwwg6jgmj9gr7kxs8zp-perl-5.38.2/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /nix/store/57hpz6jj3pnjwdwwg6jgmj9gr7kxs8zp-perl-5.38.2/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi |