diff --git a/tools/git/prepare-commit-msg b/tools/git/prepare-commit-msg new file mode 100755 index 00000000000..b51b3777b5e --- /dev/null +++ b/tools/git/prepare-commit-msg @@ -0,0 +1,64 @@ +#!/bin/sh +# +# 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 comments out the +# "Conflicts:" part of a merge commit. +# +# 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. + +#case "$2,$3" in +# merge,) +# /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + +# *) ;; +#esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +cat < $1 +################################# 80 chars ##################################### +# The following is an example of how to fill out the above form. Please limit +# your formatting to 80 cols. +# +# Summary: One line description of commit, followed by blank line +# +# Detail: Multi-line description, followed by blank line +# +# BUG-ID: CLOUDSTACK-9999 +# Reviewed-by: Bar Barlington , Foo McFooson +# Reported-by: Baz Bazelli +# Signed-off-by: You +# +$ORIGINAL +EOF + +SOB=$(git var GIT_AUTHOR_IDENT) + +sed -i "1s/^/################################# 80 chars #####################################\n\ +Summary: \n\n\ +Detail: \n\n\ +BUG-ID : \n\ +Reviewed-by: \n\ +Reported-by: \n\ +Signed-off-by: ${SOB}\n\n/" $1 +