From 7fe901b954cd345451fcfaf14ba5277fe4a3912f Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Mon, 4 Jun 2007 15:41:32 +0100 Subject: 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 --- buildconfigs/src.hg-clone | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'buildconfigs/src.hg-clone') 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 $@ -- cgit v1.2.3