X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=scripts%2Fpost-receive-email-with-diffs;h=7723e58dc3bf0cdee6f13e795f1eafa432398be0;hb=HEAD;hp=52cbcedc035a54ffcf3c9f19b8e1305099c2e422;hpb=cc111850feb23616f958b1de4d2d79fc3b440e82;p=infrastructure.git diff --git a/scripts/post-receive-email-with-diffs b/scripts/post-receive-email-with-diffs index 52cbced..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,8 +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 - shortrev=$(echo $describe | 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