Add git_update_remote_branch to functions.

When $RECLONE=yes, and the branch specified for a project in stackrc is
a remote branch, the git_clone function would not recognize it as a
branch.  git_clone now attempts to recognize a remote branch and handle
it appropriately.

Change-Id: Ie23ff12eb5a7905088a9c2bb0ea2b02453ec0258
This commit is contained in:
Andrew Laski 2012-09-05 17:23:14 -04:00 committed by Andrew Laski
parent 6a1c849773
commit f900bd7946
2 changed files with 14 additions and 1 deletions

View File

@ -1,6 +1,7 @@
Aaron Lee <aaron.lee@rackspace.com> Aaron Lee <aaron.lee@rackspace.com>
Aaron Rosen <arosen@nicira.com> Aaron Rosen <arosen@nicira.com>
Adam Gandelman <adamg@canonical.com> Adam Gandelman <adamg@canonical.com>
Andrew Laski <andrew.laski@rackspace.com>
Andy Smith <github@anarkystic.com> Andy Smith <github@anarkystic.com>
Anthony Young <sleepsonthefloor@gmail.com> Anthony Young <sleepsonthefloor@gmail.com>
Armando Migliaccio <armando.migliaccio@eu.citrix.com> Armando Migliaccio <armando.migliaccio@eu.citrix.com>

View File

@ -278,6 +278,16 @@ function git_update_tag() {
} }
# git update using reference as a branch.
# git_update_remote_branch ref
function git_update_remote_branch() {
GIT_BRANCH=$1
git checkout -b $GIT_BRANCH -t origin/$GIT_BRANCH
}
# Translate the OS version values into common nomenclature # Translate the OS version values into common nomenclature
# Sets ``DISTRO`` from the ``os_*`` values # Sets ``DISTRO`` from the ``os_*`` values
function GetDistro() { function GetDistro() {
@ -343,6 +353,8 @@ function git_clone {
git_update_tag $GIT_REF git_update_tag $GIT_REF
elif [[ -n "`git show-ref refs/heads/$GIT_REF`" ]]; then elif [[ -n "`git show-ref refs/heads/$GIT_REF`" ]]; then
git_update_branch $GIT_REF git_update_branch $GIT_REF
elif [[ -n "`git show-ref refs/remotes/origin/$GIT_REF`" ]]; then
git_update_remote_branch $GIT_REF
else else
echo $GIT_REF is neither branch nor tag echo $GIT_REF is neither branch nor tag
exit 1 exit 1