mirror of https://github.com/apache/cloudstack.git
Summary: add git prepare-commit-msg file
Detail: CloudStack committers can optionally use this file to prepopulate their commits with a standard form. The idea was that it would help us get better commit messages. It is set up locally up by running the following from the root of the repo: 'ln -s ../../tools/git/prepare-commit-msg .git/hooks/prepare-commit-msg' Additionally, a different prepare-commit-msg could potentially be committed for each branch and the link will always point to the one that's checked out. BUG-ID : none Reviewed-by: Marcus Sorensen <marcus@betterservers.com> Reported-by: Rohit Yadav <rohit.yadav@citrix.com> Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1350596087 -0600
This commit is contained in:
parent
640aba7a77
commit
9ba7509c70
|
|
@ -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 <<EOF > $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 <bar@example.com>, Foo McFooson <foo@example.com>
|
||||
# Reported-by: Baz Bazelli <baz@example.com>
|
||||
# Signed-off-by: You <you@yourdomain.com>
|
||||
#
|
||||
$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
|
||||
|
||||
Loading…
Reference in New Issue