-#!/bin/sh
+#!/bin/bash
-export LD_LIBRARY_PATH=/home/BIPFS/shaberman/local/lib
-TRAC_ENV=/srv/trac/cbas
+. $(dirname $0)/functions
while read oldrev newrev refname ; do
- if expr "$oldrev" : '0*$' >/dev/null
- then
- git rev-parse --not --branches | grep -v $(git rev-parse $refname) | git rev-list --reverse --stdin $newrev
- else
- git rev-parse --not --branches | grep -v $(git rev-parse $refname) | git rev-list --reverse --stdin $oldrev..$newrev
- fi | while read commit ; do
- /home/BIPFS/shaberman/local/bin/python /srv/git/hooks/server/post-receive-trac.py "$TRAC_ENV" "$commit"
+ case "$refname" in
+ refs/tags/*)
+ short_refname=${refname##refs/tags/}
+ ;;
+ refs/heads/*)
+ short_refname=${refname##refs/heads/}
+ ;;
+ *)
+ echo >&2 "*** Unknown type of update to $refname"
+ exit 1
+ ;;
+ esac
+
+ set_new_commits
+ set_rev_types
+
+ echo "$new_commits" | git rev-list --reverse --stdin | while read commit ; do
+ set_describe "$commit"
+ set_describe_tags "$commit"
+ author="$(git rev-list -n 1 $commit --pretty=format:'%cn <%ce>' | grep -v $commit)"
+ message="$(git rev-list -n 1 $commit --pretty=format:'%s%n%b' | grep -v $commit)"
+ "$PYTHON" "$(dirname $0)/post-receive-trac.py" "$TRAC_ENV" "$short_refname" "$describe" "$describe_tags" "$commit" "$author" "$message"
+ # Trac will crap out if we submit ticket refs too quickly
+ # http://trac.edgewall.org/ticket/6466
+ sleep 1
done
done