From aec0a31ffecece8def950c58ed4a035173d2f0a0 Mon Sep 17 00:00:00 2001 From: Date: Tue, 24 Jan 2012 15:09:29 +0000 Subject: Introduce git-checkout.sh From: Stefano Stabellini 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 Committed-by: Ian Jackson --- scripts/git-checkout.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 scripts/git-checkout.sh (limited to 'scripts') 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 " + 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 -- cgit v1.2.3