|
0
|
1 |
#!/bin/sh
|
|
|
2 |
#
|
|
|
3 |
# An example hook script to prepare the commit log message.
|
|
|
4 |
# Called by git-commit with the name of the file that has the
|
|
|
5 |
# commit message, followed by the description of the commit
|
|
|
6 |
# message's source. The hook's purpose is to edit the commit
|
|
|
7 |
# message file. If the hook fails with a non-zero status,
|
|
|
8 |
# the commit is aborted.
|
|
|
9 |
#
|
|
|
10 |
# To enable this hook, make this file executable.
|
|
|
11 |
|
|
|
12 |
# This hook includes three examples. The first comments out the
|
|
|
13 |
# "Conflicts:" part of a merge commit.
|
|
|
14 |
#
|
|
|
15 |
# The second includes the output of "git diff --name-status -r"
|
|
|
16 |
# into the message, just before the "git status" output. It is
|
|
|
17 |
# commented because it doesn't cope with --amend or with squashed
|
|
|
18 |
# commits.
|
|
|
19 |
#
|
|
|
20 |
# The third example adds a Signed-off-by line to the message, that can
|
|
|
21 |
# still be edited. This is rarely a good idea.
|
|
|
22 |
|
|
|
23 |
case "$2,$3" in
|
|
|
24 |
merge,)
|
|
|
25 |
perl -i -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
|
|
|
26 |
|
|
|
27 |
# ,|template,)
|
|
|
28 |
# perl -i -pe '
|
|
|
29 |
# print "\n" . `git diff --cached --name-status -r`
|
|
|
30 |
# if /^#/ && $first++ == 0' "$1" ;;
|
|
|
31 |
|
|
|
32 |
*) ;;
|
|
|
33 |
esac
|
|
|
34 |
|
|
|
35 |
# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
|
|
|
36 |
# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
|