WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH v8 1/6] Introduce git-checkout.sh

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@xxxxxxxxxxxxx>

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -291,7 +291,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
--- /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
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -70,7 +70,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) \
@@ -88,20 +88,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); \
@@ -112,7 +100,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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel