From 5dadd5d1021d109cd7697b6199162d202d982d69 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Fri, 30 Sep 2016 11:20:57 +0200 Subject: [PATCH] The script pulls all branches and now can check out a specific branch or commit-id Change-Id: Ie2ff90a4a9baf9fbba96ce2c541f1c8bf79abd5e Signed-off-by: garciadeblas --- jenkins/RO/start_build | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/jenkins/RO/start_build b/jenkins/RO/start_build index 223b2317..620ab0c5 100755 --- a/jenkins/RO/start_build +++ b/jenkins/RO/start_build @@ -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" -- 2.25.1