Branch Creation Script 83/9183/2
authorbeierlm <mark.beierl@canonical.com>
Thu, 25 Jun 2020 15:58:13 +0000 (11:58 -0400)
committerbeierlm <mark.beierl@canonical.com>
Tue, 30 Jun 2020 20:20:29 +0000 (22:20 +0200)
A new script similar to the tagging script that will create
the start of branch tag and then create the branch for all
modules.

Change-Id: Ie3eb7f7a4d4e345413531e17b2469a65d691adba
Signed-off-by: beierlm <mark.beierl@canonical.com>
tools/newbranch.sh [new file with mode: 0755]

diff --git a/tools/newbranch.sh b/tools/newbranch.sh
new file mode 100755 (executable)
index 0000000..6428c98
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+#
+#   Copyright 2020 ETSI
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+if [ $# -ne 3 ]; then
+    echo "Usage $0 <repo> <branch> <user>"
+    echo "Example: $0 all v8.0 beierlm"
+    echo "Example: $0 devops v8.0 beierlm"
+    exit 1
+fi
+
+BRANCH="$2"
+USER="$3"
+tag_message="Start of $BRANCH"
+
+modules="common devops IM LCM LW-UI MON N2VC NBI openvim osmclient RO vim-emu POL NG-UI PLA tests"
+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 [ ! -d $i ]; then
+        git clone ssh://$USER@osm.etsi.org:29418/osm/$i
+    fi
+    git -C $i checkout master
+    git -C $i pull --rebase
+    git -C $i tag -a "release-$BRANCH-start" -m"$tag_message"
+    git -C $i push origin $TAG --follow-tags
+    git -C $i checkout -b "$BRANCH"
+    git -C $i push -u origin "$BRANCH"
+done
+
+exit 0