aboutsummaryrefslogtreecommitdiffstats
path: root/buildconfigs/src.hg-clone
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@xensource.com>2007-06-04 15:41:32 +0100
committerIan Campbell <ian.campbell@xensource.com>2007-06-04 15:41:32 +0100
commit7fe901b954cd345451fcfaf14ba5277fe4a3912f (patch)
treefe3866d8125741ecc15c6cf4c040189c873f0455 /buildconfigs/src.hg-clone
parent1af8c5189c27bd83293bebae780b93fffeea2ee9 (diff)
downloadxen-7fe901b954cd345451fcfaf14ba5277fe4a3912f.tar.gz
xen-7fe901b954cd345451fcfaf14ba5277fe4a3912f.tar.bz2
xen-7fe901b954cd345451fcfaf14ba5277fe4a3912f.zip
If we find a Linux repository in $(LINUX_SRC_PATH) then symlink it
instead of cloning it. This enables developers to keep a linux tree separate to their xen repository and to make changes there which are picked up by the Xen build. Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Diffstat (limited to 'buildconfigs/src.hg-clone')
-rw-r--r--buildconfigs/src.hg-clone21
1 files changed, 14 insertions, 7 deletions
diff --git a/buildconfigs/src.hg-clone b/buildconfigs/src.hg-clone
index ab732770e8..d3696172d0 100644
--- a/buildconfigs/src.hg-clone
+++ b/buildconfigs/src.hg-clone
@@ -20,17 +20,24 @@ endif
XEN_LINUX_HGREV ?= tip
$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
- set -e ; __repo=$(XEN_LINUX_HGREPO) ; \
- if [ ! -d $(LINUX_SRCDIR) ] ; then \
- echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
- $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \
+ set -e ; \
+ if [ ! -e $(LINUX_SRCDIR)/.hg ] ; then \
+ __repo=$(XEN_LINUX_HGREPO) ; \
+ if [ -d $${__repo} ] ; then \
+ echo "Linking $${__repo} to $(LINUX_SRCDIR)." ; \
+ ln -s $${__repo} $(LINUX_SRCDIR) ; \
+ else \
+ echo "Cloning $${__repo} to $(LINUX_SRCDIR)." ; \
+ $(HG) clone $${__repo} $(LINUX_SRCDIR) ; \
+ fi ; \
else \
- echo "Pulling changes from $${__repo} into $(LINUX_SRCDIR)." ; \
- $(HG) -R $(LINUX_SRCDIR) pull $${__repo} ; \
+ __parent=$$($(HG) -R $(LINUX_SRCDIR) path default) ; \
+ echo "Pulling changes from $${__parent} into $(LINUX_SRCDIR)." ; \
+ $(HG) -R $(LINUX_SRCDIR) pull $${__parent} ; \
fi
if [ -n "$(XEN_LINUX_HGREV)" ] ; then \
echo "Updating $(LINUX_SRCDIR) to revision $(XEN_LINUX_HGREV)." ; \
- $(HG) update -R $(LINUX_SRCDIR) $(XEN_LINUX_HGREV) ; \
+ ( cd $(LINUX_SRCDIR) && $(HG) update $(XEN_LINUX_HGREV) ); \
fi
touch $@