From ff7e9594577b10914fc4b3048ef2cffa17c42673 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Tue, 14 Feb 2023 16:38:19 +1100 Subject: Add force option to tagging to recover tags that fail to complete --- rtems-release-tag | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/rtems-release-tag b/rtems-release-tag index ec3c0f4..bf01317 100755 --- a/rtems-release-tag +++ b/rtems-release-tag @@ -66,6 +66,7 @@ usage() { echo " version : The version of RTEMS, eg 5" 1>&2 echo " revision : The revision, eg 0.0 or 0.0-myrev" 1>&2 echo " -p : Push the changes." 1>&2 + echo " -f : Force is repo tagged." 1>&2 exit 1 } @@ -74,11 +75,12 @@ usage() { # clone_url= push=no +forced=no # # Manage the command line. # -while getopts "tp" opt; do +while getopts "tpf" opt; do case "${opt}" in t) clone_url=git://git.rtems.org @@ -86,6 +88,9 @@ while getopts "tp" opt; do p) push=yes ;; + f) + forced=yes + ;; *) usage ;; @@ -137,14 +142,22 @@ mkdir ${ws_tag} # Clone and tag the repositories. # cd ${ws_tag} + echo "Tagging Repos: ${rtems_repos}" for r in ${rtems_repos} do ref=origin/${version} echo "git clone ${clone_url}/${r} ${r}" git clone ${clone_url}/${r} ${r} cd ${r} - echo "git tag ${release} ${ref}" - git tag ${release} ${ref} + if [ "$(git tag | grep ${release})" = "${release}" ]; then + echo "already tagged: ${release} ${ref}" + if [ ${forced} = no ]; then + exit 1 + fi + else + echo "git tag ${release} ${ref}" + git tag ${release} ${ref} + fi cd .. done -- cgit v1.2.3