Files
@ beb0688cbfd8
Branch filter:
Location: light9/dmx_usb_module/.git/hooks/update - annotation
beb0688cbfd8
2.5 KiB
text/plain
arduino_upload target
Ignore-this: 7f0fbe9b3f97346f836abd54ed83cb57
Ignore-this: 7f0fbe9b3f97346f836abd54ed83cb57
4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 4e60444605f6 | #!/bin/sh
#
# An example hook script to mail out commit update information.
# It also blocks tags that aren't annotated.
# Called by git-receive-pack with arguments: refname sha1-old sha1-new
#
# To enable this hook:
# (1) change the recipient e-mail address
# (2) make this file executable by "chmod +x update".
#
project=$(cat $GIT_DIR/description)
recipients="commit-list@somewhere.com commit-list@somewhereelse.com"
ref_type=$(git cat-file -t "$3")
# Only allow annotated tags in a shared repo
# Remove this code to treat dumb tags the same as everything else
case "$1","$ref_type" in
refs/tags/*,commit)
echo "*** Un-annotated tags are not allowed in this repo" >&2
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate."
exit 1;;
refs/tags/*,tag)
echo "### Pushing version '${1##refs/tags/}' to the masses" >&2
# recipients="release-announce@somwehere.com announce@somewhereelse.com"
;;
esac
# set this to 'cat' to get a very detailed listing.
# short only kicks in when an annotated tag is added
short='git shortlog'
# see 'date --help' for info on how to write this
# The default is a human-readable iso8601-like format with minute
# precision ('2006-01-25 15:58 +0100' for example)
date_format="%F %R %z"
(if expr "$2" : '0*$' >/dev/null
then
# new ref
case "$1" in
refs/tags/*)
# a pushed and annotated tag (usually) means a new version
tag="${1##refs/tags/}"
if [ "$ref_type" = tag ]; then
eval $(git cat-file tag $3 | \
sed -n '4s/tagger \([^>]*>\)[^0-9]*\([0-9]*\).*/tagger="\1" ts="\2"/p')
date=$(date --date="1970-01-01 00:00:00 $ts seconds" +"$date_format")
echo "Tag '$tag' created by $tagger at $date"
git cat-file tag $3 | sed -n '5,$p'
echo
fi
prev=$(git describe "$3^" | sed 's/-g.*//')
# the first tag in a repo will yield no $prev
if [ -z "$prev" ]; then
echo "Changes since the dawn of time:"
git rev-list --pretty $3 | $short
else
echo "Changes since $prev:"
git rev-list --pretty $prev..$3 | $short
echo ---
git diff $prev..$3 | diffstat -p1
echo ---
fi
;;
refs/heads/*)
branch="${1##refs/heads/}"
echo "New branch '$branch' available with the following commits:"
git-rev-list --pretty "$3" $(git-rev-parse --not --all)
;;
esac
else
base=$(git-merge-base "$2" "$3")
case "$base" in
"$2")
git diff "$3" "^$base" | diffstat -p1
echo
echo "New commits:"
;;
*)
echo "Rebased ref, commits from common ancestor:"
;;
esac
git-rev-list --pretty "$3" "^$base"
fi) |
mail -s "$project: Changes to '${1##refs/heads/}'" $recipients
exit 0
|