From 8718d66556f30f360e251ac18a4a4a13b8c56e67 Mon Sep 17 00:00:00 2001 From: Micke Nordin Date: Fri, 9 Jun 2023 10:56:55 +0200 Subject: [PATCH] Fix shellcheck and use anotated tag --- bump-tag | 53 +++++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/bump-tag b/bump-tag index 35d0c45..9505ceb 100755 --- a/bump-tag +++ b/bump-tag @@ -2,55 +2,56 @@ set -e -test -f cosmos.conf && . ./cosmos.conf - echo "Fetching any updates from server:" git pull echo "" -if [ "x$1" = "x" ]; then - deftag=`basename $PWD` +if [[ -z ${1} ]]; then + deftag=$(basename "${PWD}") else - deftag="$1" + deftag="${1}" fi -tagpfx=${tag:="$deftag"} +tagpfx=${tag:="${deftag}"} -last_tag=`git tag -l "${tagpfx}-*"|sort|tail -1` +last_tag=$(git tag -l "${tagpfx}-*" | sort | tail -1) -echo "Verifying last tag $last_tag:" -(git tag -v $last_tag | grep ^gpg:) || true +echo "Verifying last tag ${last_tag}:" +(git tag -v "${last_tag}" | grep ^gpg:) || true # again to not mask exit status of git with grep -git tag -v $last_tag > /dev/null 2>&1 +git tag -v "${last_tag}" >/dev/null 2>&1 echo "" -echo "Differences between tag $last_tag and what you are about to sign:" -PAGER=cat git diff --color $last_tag..main +echo "Differences between tag ${last_tag} and what you are about to sign:" +env PAGER=cat git diff --color "${last_tag}..main" iter=1 ok= while test -z "$ok"; do - this_tag=$(date +${tagpfx}-%Y-%m-%d-v`printf "%02d" $iter`) - iter=`expr $iter + 1` - case `(echo $this_tag; echo $last_tag) | sort | tail -1` in - $last_tag) - ;; - $this_tag) - ok=yes - ;; - esac + this_tag=$(date "+${tagpfx}-%Y-%m-%d-v$(printf "%02d" ${iter})") + iter=$(( iter + 1)) + case $( ( + echo "${this_tag}" + echo "${last_tag}" + ) | sort | tail -1) in + "${last_tag}") ;; + + "${this_tag}") + ok=yes + ;; + esac done -if [ "$deftag" != "$tagpfx" ]; then - echo -e "Using new tag \e[94m$this_tag\e[0m according to pattern in cosmos.conf" +if [ "${deftag}" != "${tagpfx}" ]; then + echo -e "Using new tag \e[94m${this_tag}\e[0m according to pattern in cosmos.conf" else - echo -e "Using new tag \e[94m$this_tag\e[0m" + echo -e "Using new tag \e[94m${this_tag}\e[0m" fi echo -e "\e[1mONLY SIGN IF YOU APPROVE OF VERIFICATION AND DIFF ABOVE\e[0m" # GITTAGEXTRA is for putting things like "-u 2117364A" - -git tag $GITTAGEXTRA -m bump. -s $this_tag +# shellcheck disable=SC2086 +git tag ${GITTAGEXTRA} -a "${this_tag}" -m bump. -s "${this_tag}" git push git push --tags