From 7942e2818b950a5e17bf97039aaea9afce58967e Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 13 Jul 2017 15:45:28 +0200 Subject: [PATCH] Tools to automate repo updates, tag creation and deletion Change-Id: I66a3ea2282836bd11b2a3ee273d73f7969823b4f Signed-off-by: garciadeblas --- tools/deletetag.sh | 38 +++++++++++++++++++++++++++++++++++++ tools/newtag.sh | 44 +++++++++++++++++++++++++++++++++++++++++++ tools/update.sh | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100755 tools/deletetag.sh create mode 100755 tools/newtag.sh create mode 100755 tools/update.sh diff --git a/tools/deletetag.sh b/tools/deletetag.sh new file mode 100755 index 00000000..9e915a0f --- /dev/null +++ b/tools/deletetag.sh @@ -0,0 +1,38 @@ +#!/bin/bash +if [ $# -ne 2 ]; then + echo "Usage $0 " + exit 1 +fi + +TAG="$2" +tag_header="OSM Release TWO:" +tag_message="$tag_header version $TAG" + +modules="juju-charms devops descriptor-packages openvim RO SO UI osmclient" +list="" +for i in $modules; do + if [ "$1" == "$i" -o "$1" == "all" ]; then + list="$1" + break + fi +done + +[ "$1" == "all" ] && list=$modules + +if [ -z "$list" ]; then + echo "Repo must be one of these: $modules all" + exit 1 +fi + +for i in $list; do + echo + echo $i + git -C $i fetch + echo "Deleting tag $tag in repo $i" + git -C $i tag -d $tag + git -C $i push origin :refs/tags/$tag + sleep 2 +done + +exit 0 + diff --git a/tools/newtag.sh b/tools/newtag.sh new file mode 100755 index 00000000..78cd4bba --- /dev/null +++ b/tools/newtag.sh @@ -0,0 +1,44 @@ +#!/bin/bash +if [ $# -ne 2 ]; then + echo "Usage $0 " + exit 1 +fi + +CURRENT_BRANCH="v2.0" +TAG="$2" +tag_header="OSM Release TWO:" +tag_message="$tag_header version $TAG" + +modules="juju-charms devops descriptor-packages openvim RO SO UI osmclient" +list="" +for i in $modules; do + if [ "$1" == "$i" -o "$1" == "all" ]; then + list="$1" + break + fi +done + +[ "$1" == "all" ] && list=$modules + +if [ -z "$list" ]; then + echo "Repo must be one of these: $modules all" + exit 1 +fi + +for i in $list; do + echo + echo $i + if [ "$i" == "juju-charms" ] && [ "$1" == "all" ] ; then + #This is to allow "./newtag.sh all v2.0.0", and still checkout master in "juju-charms" before tagging + git -C $i checkout master + else + git -C $i checkout $CURRENT_BRANCH + fi + git -C $i pull --rebase + git -C $i tag -a $TAG -m"$tag_message" + git -C $i push origin $TAG --follow-tags + sleep 2 +done + +exit 0 + diff --git a/tools/update.sh b/tools/update.sh new file mode 100755 index 00000000..79602266 --- /dev/null +++ b/tools/update.sh @@ -0,0 +1,47 @@ +#!/bin/bash +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "Usage $0 []" + exit 1 +fi + +BRANCH="master" +if [ $# -ge 2 ]; then + BRANCH=$2 +fi + +modules="juju-charms devops descriptor-packages openvim RO SO UI osmclient" +list="" +for i in $modules; do + if [ "$1" == "$i" -o "$1" == "all" ]; then + list="$1" + break + fi +done + +[ "$1" == "all" ] && list=$modules + +if [ "$1" == "juju-charms" ] && [ "$BRANCH" != "master" ]; then + echo "Repo $1 does not have branch $BRANCH" + exit 1 +fi + +if [ -z "$list" ]; then + echo "Repo must be one of these: $modules all" + exit 1 +fi + +for i in $list; do + echo + echo $i + git -C $i fetch + if [ "$i" == "juju-charms" ] && [ "$1" == "all" ] ; then + #This is to allow "./update.sh all v2.0", and still update "juju-charms" with master + git -C $i checkout master + else + git -C $i checkout $BRANCH + fi + git -C $i pull --rebase +done + +exit 0 + -- 2.25.1