2010-09-01 Teodor Zlatanov <tzz@lifelogs.com>
- * post-receive: Add modified post-receive hook for Git. Comment.
+ * post-receive: Add modified post-receive hook for Git. Comment. Put
+ the update message after the diff. Join multiple oneline logs into one
+ long subject.
2010-03-22 Teodor Zlatanov <tzz@lifelogs.com>
# the remainder is the standard git-core post-receive-email with some changes:
# - USER_EMAIL and USER_NAME are used in the header
-# - without annotations, we use `git log -1 --format=oneline' to generate the change summary (which could miss multiple changes)
+# - the update message is after the diff
+# - without annotations, we use `git log --format=oneline' to generate the change summary (joining multiples with semicolons)
# Copyright (c) 2007 Andy Parkins
#
# that we can build from the parameters
describe=$(git describe $rev 2>/dev/null)
if [ -z "$describe" ]; then
- describe=$(git log -1 --format=oneline $rev 2>/dev/null)
+ describe=$((git log --format=oneline $oldrev...$newrev | perl -e'@p = <>; chomp @p; print join " ; ", @p') 2>/dev/null)
fi
if [ -z "$describe" ]; then
echo ""
if [ -z "$rewind_only" ]; then
- echo "Those revisions listed above that are new to this repository have"
- echo "not appeared on any other notification email; so we list those"
- echo "revisions in full, below."
-
echo ""
echo $LOGBEGIN
show_new_revisions
# revisions added by this update" message
echo $LOGEND
+
+ echo "Those revisions listed above that are new to this repository have"
+ echo "not appeared on any other notification email; so we listed those"
+ echo "revisions in full, above."
+
else
echo "No new revisions were added by this update."
fi