X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fpost-receive-email-with-diffs;h=7723e58dc3bf0cdee6f13e795f1eafa432398be0;hb=0f9d55936cdd62bb3b3d338ad3373a7de3b2b6a6;hp=c6d238bdac5ca1d7e8070da24e5d7c0f3a2ddebf;hpb=2d50df35d742ce7c173f350522e58592dd826552;p=infrastructure.git diff --git a/scripts/post-receive-email-with-diffs b/scripts/post-receive-email-with-diffs index c6d238b..7723e58 100755 --- a/scripts/post-receive-email-with-diffs +++ b/scripts/post-receive-email-with-diffs @@ -175,6 +175,14 @@ generate_email() generate_email_footer } +# generate a pattern for testing if a string is a hash +hpat="";__=1; while [ $__ -le 40 ] ; do hpat=${hpat}'[0-9a-f]';__=$(($__+1)); done +function is_hash () { + local hash + hash=$1; shift + case $hash in $hpat) return 0;; *) return 1;; esac +} + generate_email_header() { # --- Email (all stdout will be the email) @@ -185,9 +193,15 @@ generate_email_header() else details="$refname_type, $short_refname," fi + # trying to improve the layout of $describe + # in some cases we get a plain hash, some other times we're getting a composite like + # TagName-NumOfCommitsAfterTag-Hash + # simple first idea: if it looks like a plain hash, truncate it, + # otherwise preserve as-is for now local shortrev - # git describe format: TagName-NumOfCommitsAfterTag-Hash - shortrev=$(echo $describe | awk -F - '{print $NF;}' | cut -b1-8) +# shortrev=$(awk -F - '{print $NF;}' <<< $describe) + shortrev=$describe + is_hash $shortrev && shortrev="$(cut -b1-8 <<< $shortrev).." # Generate header cat <<-EOF To: $recipients