[rtems-release commit] Add force option to tagging to recover tags that fail to complete

Chris Johns chrisj at rtems.org
Tue Feb 14 05:22:26 UTC 2023


Module:    rtems-release
Branch:    master
Commit:    ff7e9594577b10914fc4b3048ef2cffa17c42673
Changeset: http://git.rtems.org/rtems-release/commit/?id=ff7e9594577b10914fc4b3048ef2cffa17c42673

Author:    Chris Johns <chrisj at rtems.org>
Date:      Tue Feb 14 16:38:19 2023 +1100

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
 



More information about the vc mailing list