#!/bin/bash # # 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. # GIT() { CMD git "$@" } OSM_git_checkout() { # 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 fetch --all --tags #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 for remote in `git branch -r |grep -v /HEAD`; 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" fi else INFO "Code to compile: master" GIT checkout master fi }