The script pulls all branches and now can check out a specific branch or commit-id 52/452/1
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 30 Sep 2016 09:20:57 +0000 (11:20 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Fri, 30 Sep 2016 09:20:57 +0000 (11:20 +0200)
Change-Id: Ie2ff90a4a9baf9fbba96ce2c541f1c8bf79abd5e
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
jenkins/RO/start_build

index 223b231..620ab0c 100755 (executable)
@@ -27,26 +27,32 @@ export OSM_MDG=RO
 OSM_load_config
 
 
-# Here is an example for how to handle an incremental build
+# Updates all the branches in the local repo (clones if it does not exist)
 if [ -d $OSM_MDG ]; then
-       INFO "reusing existing workspace"
-       cd $OSM_MDG
-        git checkout master  #to make sure that we are in the right branch before pulling the code
-       git pull
-        # TO DO: probably it makes sense to fetch all branches, but this requires creating the branches locally
+    INFO "reusing existing workspace"
+    cd $OSM_MDG
+    git pull --all
+    #git checkout master  #to make sure that we are in the right branch before pulling the code
+    #git pull
 else
-       INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
-       git clone $OSM_GIT_URL/$OSM_MDG
-       cd $OSM_MDG
+    INFO "cloning MDG $OSM_MDG from $OSM_GIT_URL/$OSM_MDG"
+    git clone $OSM_GIT_URL/$OSM_MDG
+    cd $OSM_MDG
+    for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
 fi
 
 if [ $# -gt 0 ]; then
+    if [ "$1" = "checkout" ]; then
+        INFO "Code to compile: '$2'"
+        git checkout $2
+    else
         INFO "Code to compile: gerrit refspec '$1', commit-id: '$2'"
-       git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
-       git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
+        git fetch origin $1 || FATAL "git fetch origin '$1' didn't work"
+        git checkout -f $2 || FATAL "git checkout -f '$2' didn't work"
+    fi
 else
-        INFO "Code to compile: master"
-       git checkout master
+    INFO "Code to compile: master"
+    git checkout master
 fi
 
 INFO "starting build"