diff --git a/hooks/commit-msg b/hooks/commit-msg index d8f009b6..40ac237a 100755 --- a/hooks/commit-msg +++ b/hooks/commit-msg @@ -1,6 +1,7 @@ #!/bin/sh +# From Gerrit Code Review 2.12.1 # -# Part of Gerrit Code Review (http://code.google.com/p/gerrit/) +# Part of Gerrit Code Review (https://www.gerritcodereview.com/) # # Copyright (C) 2009 The Android Open Source Project # @@ -19,7 +20,7 @@ unset GREP_OPTIONS -CHANGE_ID_AFTER="Bug|Issue" +CHANGE_ID_AFTER="Bug|Issue|Test" MSG="$1" # Check for, and add if missing, a unique Change-Id @@ -38,6 +39,12 @@ add_ChangeId() { return fi + # Do not add Change-Id to temp commits + if echo "$clean_message" | head -1 | grep -q '^\(fixup\|squash\)!' + then + return + fi + if test "false" = "`git config --bool --get gerrit.createChangeId`" then return @@ -57,6 +64,10 @@ add_ChangeId() { AWK=/usr/xpg4/bin/awk fi + # Get core.commentChar from git config or use default symbol + commentChar=`git config --get core.commentChar` + commentChar=${commentChar:-#} + # How this works: # - parse the commit message as (textLine+ blankLine*)* # - assume textLine+ to be a footer until proven otherwise @@ -75,8 +86,8 @@ add_ChangeId() { blankLines = 0 } - # Skip lines starting with "#" without any spaces before it. - /^#/ { next } + # Skip lines starting with commentChar without any spaces before it. + /^'"$commentChar"'/ { next } # Skip the line starting with the diff command and everything after it, # up to the end of the file, assuming it is only patch data.