diff options
author | <stefano.stabellini@eu.citrix.com> | 2012-01-24 15:09:29 +0000 |
---|---|---|
committer | <stefano.stabellini@eu.citrix.com> | 2012-01-24 15:09:29 +0000 |
commit | aec0a31ffecece8def950c58ed4a035173d2f0a0 (patch) | |
tree | 25f8ee65e15ecc99ec5e44c345b1c814785e1a7f /scripts | |
parent | b3b15b7611b00f96b08fd69d9e092da535855055 (diff) | |
download | xen-aec0a31ffecece8def950c58ed4a035173d2f0a0.tar.gz xen-aec0a31ffecece8def950c58ed4a035173d2f0a0.tar.bz2 xen-aec0a31ffecece8def950c58ed4a035173d2f0a0.zip |
Introduce git-checkout.sh
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Introduce a script to perform git checkout on an external git tree; use
git-checkout.sh in ioemu-dir-find.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/git-checkout.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh new file mode 100755 index 0000000000..15b3ce9661 --- /dev/null +++ b/scripts/git-checkout.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +if test $# -lt 3; then + echo "Usage: $0 <tree> <tag> <dir>" + exit 1 +fi + +TREE=$1 +TAG=$2 +DIR=$3 + +set -e + +if test \! -d $DIR-remote; then + rm -rf $DIR-remote $DIR-remote.tmp + mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp + $GIT clone $TREE $DIR-remote.tmp + if test "$TAG" ; then + cd $DIR-remote.tmp + $GIT branch -D dummy >/dev/null 2>&1 ||: + $GIT checkout -b dummy $TAG + cd .. + fi + mv $DIR-remote.tmp $DIR-remote +fi +rm -f $DIR +ln -sf $DIR-remote $DIR |