From 06b96d6c95713258970113ce09e174cd51ada406 Mon Sep 17 00:00:00 2001 From: Simon 'corecode' Schubert Date: Wed, 3 Dec 2008 04:39:00 +0100 Subject: [PATCH] Change the subject to be more terse Requested-by: dillon, swildner --- post-receive-email | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/post-receive-email b/post-receive-email index 4688bcfe79..5a4d9838a5 100755 --- a/post-receive-email +++ b/post-receive-email @@ -221,10 +221,8 @@ generate_email() set_describe() { - describe=$(git describe $1 2>/dev/null) - if [ -z "$describe" ]; then - describe=$1 - fi + describe=$(git describe --abbrev=4 $1 2>/dev/null || git rev-parse --short $1) + describe=$(echo "$describe" | sed -e 's/-/./g;s/^v//;') } generate_email_header() @@ -247,7 +245,7 @@ generate_email_header() cat <<-EOF To: $recipients - Subject: ${emailprefix}$print_refname$short_refname${print_change_type}: $describe + Subject: ${emailprefix}$describe $print_refname$short_refname${print_change_type}$detail X-Git-Refname: $refname X-Git-Reftype: $refname_type X-Git-Newrev: $newrev @@ -319,8 +317,22 @@ set_update_branch_subject() { set_describe $newrev - describe="$(git diff-tree -r -c --name-only $oldrev${oldrev:+..}$newrev | - skip_diff_tree_parent | sed -e '2,$s/^/ /') $describe" + detail=$(git diff-tree -r -c --name-only $oldrev${oldrev:+..}$newrev | + skip_diff_tree_parent | + sed -E -e 's#/([^/]*)$# \1#' | + awk 'pos > 74 { + printf "\n"; + pos = 0; + } + $1 != lastdir { + printf " %s", $1; + pos += length($1) + 1; + lastdir = $1; + } + $2 != "" { + printf " %s", $2; + pos += length($2) + 1; + }') [ -n "$(git diff-tree -r --name-only --cc $oldrev${oldrev:+..}$newrev | skip_diff_tree_parent)" ] } -- 2.41.0