diff options
-rwxr-xr-x | hooks/commit-msg | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/hooks/commit-msg b/hooks/commit-msg index 5b1fe3ae..fd76c074 100755 --- a/hooks/commit-msg +++ b/hooks/commit-msg | |||
@@ -1,5 +1,5 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # From Gerrit Code Review v2.0.18-100-g98fc90a | 2 | # From Gerrit Code Review v2.0.19.1-4-g21d307b |
3 | # | 3 | # |
4 | # Part of Gerrit Code Review (http://code.google.com/p/gerrit/) | 4 | # Part of Gerrit Code Review (http://code.google.com/p/gerrit/) |
5 | # | 5 | # |
@@ -23,21 +23,34 @@ MSG="$1" | |||
23 | # Check for, and add if missing, a unique Change-Id | 23 | # Check for, and add if missing, a unique Change-Id |
24 | # | 24 | # |
25 | add_ChangeId() { | 25 | add_ChangeId() { |
26 | if grep '^Change-Id: ' "$MSG" >/dev/null | 26 | clean_message=$(sed -e ' |
27 | /^diff --git a\/.*/{ | ||
28 | s/// | ||
29 | q | ||
30 | } | ||
31 | /^Signed-off-by:/d | ||
32 | /^#/d | ||
33 | ' "$MSG" | git stripspace) | ||
34 | if test -z "$clean_message" | ||
35 | then | ||
36 | return | ||
37 | fi | ||
38 | |||
39 | if grep -i '^Change-Id:' "$MSG" >/dev/null | ||
27 | then | 40 | then |
28 | return | 41 | return |
29 | fi | 42 | fi |
30 | 43 | ||
31 | id=$(_gen_ChangeId) | 44 | id=$(_gen_ChangeId) |
32 | out="$MSG.new" | 45 | out="$MSG.OUT" |
33 | ftt="$MSG.footers" | 46 | ftt="$MSG.FTT" |
34 | sed -e '2,${ | 47 | sed -e '2,${ |
35 | /^[A-Za-z][A-Za-z0-9-]*: /,$d | 48 | /^[A-Za-z][A-Za-z0-9-]*: /,$d |
36 | }' <"$MSG" >"$out" | 49 | }' <"$MSG" >"$out" |
37 | sed -ne '2,${ | 50 | sed -ne '2,${ |
38 | /^[A-Za-z][A-Za-z0-9-]*: /,$p | 51 | /^[A-Za-z][A-Za-z0-9-]*: /,$p |
39 | }' <"$MSG" >"$ftt" | 52 | }' <"$MSG" >"$ftt" |
40 | if ! [ -s "$ftt" ] | 53 | if ! test -s "$ftt" |
41 | then | 54 | then |
42 | echo >>"$out" | 55 | echo >>"$out" |
43 | fi | 56 | fi |
@@ -55,7 +68,7 @@ _gen_ChangeIdInput() { | |||
55 | echo "author $(git var GIT_AUTHOR_IDENT)" | 68 | echo "author $(git var GIT_AUTHOR_IDENT)" |
56 | echo "committer $(git var GIT_COMMITTER_IDENT)" | 69 | echo "committer $(git var GIT_COMMITTER_IDENT)" |
57 | echo | 70 | echo |
58 | cat "$MSG" | 71 | printf '%s' "$clean_message" |
59 | } | 72 | } |
60 | _gen_ChangeId() { | 73 | _gen_ChangeId() { |
61 | _gen_ChangeIdInput | | 74 | _gen_ChangeIdInput | |