diff options
author | Ian Campbell <ian.campbell@xensource.com> | 2007-06-04 15:41:32 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@xensource.com> | 2007-06-04 15:41:32 +0100 |
commit | 7fe901b954cd345451fcfaf14ba5277fe4a3912f (patch) | |
tree | fe3866d8125741ecc15c6cf4c040189c873f0455 /buildconfigs/src.hg-clone | |
parent | 1af8c5189c27bd83293bebae780b93fffeea2ee9 (diff) | |
download | xen-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-clone | 21 |
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 $@ |