diff options
Diffstat (limited to 'hm/soispha/conf/git/scripts/commit.sh')
-rwxr-xr-x | hm/soispha/conf/git/scripts/commit.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/hm/soispha/conf/git/scripts/commit.sh b/hm/soispha/conf/git/scripts/commit.sh new file mode 100755 index 00000000..9baf93bb --- /dev/null +++ b/hm/soispha/conf/git/scripts/commit.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="2.0.13" . %SHELL_LIBRARY_PATH + +ROOT="$(git rev-parse --show-toplevel)"; + +# Take first line from previous commit +if [ -f "$ROOT/.git/COMMIT_EDITMSG" ]; then + sed '1s/\(.*\)\((.*)\)\?\(:.*\)/\1\2: /;1p;d' "$ROOT/.git/COMMIT_EDITMSG" > "$ROOT/.git/COMMIT_TEMPLATE" +else + printf "\n" > "$ROOT/.git/COMMIT_TEMPLATE" +fi +sed '1d' "$(git config commit.template)" >> "$ROOT/.git/COMMIT_TEMPLATE" + +git commit --template "$ROOT/.git/COMMIT_TEMPLATE" --verbose "$@" + + +# vim: ft=sh |