diff --git a/post-receive-email b/post-receive-email
index 77c88eb..c3c7adf 100644
--- a/post-receive-email
+++ b/post-receive-email
@@ -193,10 +193,9 @@ generate_email_header()
 	X-Git-Newrev: $newrev
 
 	This is an automated email from the git hooks/post-receive script. It was
-	generated because a ref change was pushed to the repository containing
-	the project "$projectdesc".
+	generated because of a push to the "$projectdesc" repository.
 
-	The $refname_type, $short_refname has been ${change_type}d
+	The $short_refname $refname_type has been ${change_type}d
 	EOF
 }
 
@@ -204,9 +203,8 @@ generate_email_footer()
 {
 	cat <<-EOF
 
-
+	-- 
 	hooks/post-receive
-	--
 	$projectdesc
 	EOF
 }
@@ -329,11 +327,13 @@ generate_update_branch_email()
 	# have already had notification emails and is present to show the
 	# full detail of the change from rolling back the old revision to
 	# the base revision and then forward to the new revision
-	for rev in $(git rev-list $oldrev..$newrev)
-	do
-		revtype=$(git cat-file -t "$rev")
-		echo "       via  $rev ($revtype)"
-	done
+	# As far as I can tell this is redundant because we show the full
+	# diffs in the email. -tedp
+	#for rev in $(git rev-list $oldrev..$newrev)
+	#do
+	#	revtype=$(git cat-file -t "$rev")
+	#	echo "       via  $rev ($revtype)"
+	#done
 
 	if [ "$fast_forward" ]; then
 		echo "      from  $oldrev ($oldrev_type)"
@@ -381,36 +381,40 @@ generate_update_branch_email()
 		fi
 	fi
 
-	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
-		git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
-		git rev-list --pretty --stdin $oldrev..$newrev
-
-		# XXX: Need a way of detecting whether git rev-list actually
-		# outputted anything, so that we can issue a "no new
-		# revisions added by this update" message
+	#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
+	#	git rev-parse --not --branches | grep -v $(git rev-parse $refname) |
+	#	# This --abbrev-commit option is ignored.
+	#	git rev-list --pretty=oneline --abbrev-commit --stdin $oldrev..$newrev
+	#
+	#	# XXX: Need a way of detecting whether git rev-list actually
+	#	# outputted anything, so that we can issue a "no new
+	#	# revisions added by this update" message
+	#
+	#	echo $LOGEND
+	#else
+	#	echo "No new revisions were added by this update."
+	#fi
 
-		echo $LOGEND
-	else
-		echo "No new revisions were added by this update."
-	fi
+	echo ""
+	echo $LOGBEGIN
+	git log --pretty=oneline --abbrev-commit $oldrev..$newrev
+	echo $LOGEND
 
-	# The diffstat is shown from the old revision to the new revision.
-	# This is to show the truth of what happened in this change.
-	# There's no point showing the stat from the base to the new
-	# revision because the base is effectively a random revision at this
-	# point - the user will be interested in what this revision changed
-	# - including the undoing of previous revisions in the case of
-	# non-fast forward updates.
 	echo ""
 	echo "Summary of changes:"
 	git diff-tree --stat --summary --find-copies-harder $oldrev..$newrev
+	echo ""
+	echo $LOGEND
+	echo
+	# Full commit diffs, in chronological order (oldest to newest)
+	git whatchanged --reverse --cc --pretty $oldrev..$newrev
 }
 
 #
