#!/bin/bash


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

}

