aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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
commitaec0a31ffecece8def950c58ed4a035173d2f0a0 (patch)
tree25f8ee65e15ecc99ec5e44c345b1c814785e1a7f
parentb3b15b7611b00f96b08fd69d9e092da535855055 (diff)
downloadxen-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>
-rw-r--r--.hgignore2
-rwxr-xr-xscripts/git-checkout.sh27
-rw-r--r--tools/Makefile20
3 files changed, 32 insertions, 17 deletions
diff --git a/.hgignore b/.hgignore
index 87d8ef7db4..3145eee464 100644
--- a/.hgignore
+++ b/.hgignore
@@ -296,7 +296,7 @@
^tools/xm-test/lib/XmTestLib/config.py$
^tools/xm-test/lib/XmTestReport/xmtest.py$
^tools/xm-test/tests/.*\.test$
-^tools/ioemu-remote
+^tools/ioemu-dir-remote
^tools/ioemu-dir$
^tools/ocaml/.*/.*\.annot$
^tools/ocaml/.*/.*\.cmx?a$
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
diff --git a/tools/Makefile b/tools/Makefile
index 443ee7feae..7f5ee3e8d1 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -75,7 +75,7 @@ clean: subdirs-clean
.PHONY: distclean
distclean: subdirs-distclean
- rm -rf ioemu-dir ioemu-remote
+ rm -rf ioemu-dir ioemu-dir-remote
ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -93,20 +93,8 @@ ioemu-dir-find:
if test -d $(CONFIG_QEMU); then \
mkdir -p ioemu-dir; \
else \
- if [ ! -d ioemu-remote ]; then \
- rm -rf ioemu-remote ioemu-remote.tmp; \
- mkdir ioemu-remote.tmp; rmdir ioemu-remote.tmp; \
- $(GIT) clone $(CONFIG_QEMU) ioemu-remote.tmp; \
- if [ "$(QEMU_TAG)" ]; then \
- cd ioemu-remote.tmp; \
- $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \
- $(GIT) checkout -b dummy $(QEMU_TAG); \
- cd ..; \
- fi; \
- mv ioemu-remote.tmp ioemu-remote; \
- fi; \
- rm -f ioemu-dir; \
- ln -sf ioemu-remote ioemu-dir; \
+ export GIT=$(GIT); \
+ $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) ioemu-dir; \
fi
set -e; \
$(buildmakevars2shellvars); \
@@ -117,7 +105,7 @@ ioemu-dir-find:
ioemu-dir-force-update:
set -ex; \
if [ "$(QEMU_TAG)" ]; then \
- cd ioemu-remote; \
+ cd ioemu-dir-remote; \
$(GIT) fetch origin; \
$(GIT) reset --hard $(QEMU_TAG); \
fi