mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
First, rename $TAG to $COMMITTISH. We already pass tags, branches (well, only master) and full SHAs into this script. Xen uses master for QEMU_UPSTREAM_REVISION, and has done for other trees too in the path. Apparently we've never specified a different branch, because the git-clone rune only pulls in the master branch; it does not pull in diverging branches. Fix this by performing an explicit fetch of the $COMMITTISH, then checking out the dummy branch from the FETCH_HEAD. Suggested-by: Jason Andryuk <jason.andryuk@amd.com> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
29 lines
536 B
Bash
Executable File
29 lines
536 B
Bash
Executable File
#!/bin/sh
|
|
|
|
if test $# -lt 3; then
|
|
echo "Usage: $0 <tree> <committish> <dir>"
|
|
exit 1
|
|
fi
|
|
|
|
TREE=$1
|
|
COMMITTISH=$2
|
|
DIR=$3
|
|
|
|
set -e
|
|
|
|
if test \! -d $DIR-remote; then
|
|
rm -rf $DIR-remote $DIR-remote.tmp
|
|
mkdir -p $DIR-remote.tmp; rmdir $DIR-remote.tmp
|
|
$GIT clone $TREE $DIR-remote.tmp
|
|
if test "$COMMITTISH" ; then
|
|
cd $DIR-remote.tmp
|
|
$GIT fetch origin "$COMMITTISH"
|
|
$GIT branch -D dummy >/dev/null 2>&1 ||:
|
|
$GIT checkout -b dummy FETCH_HEAD
|
|
cd -
|
|
fi
|
|
mv $DIR-remote.tmp $DIR-remote
|
|
fi
|
|
rm -f $DIR
|
|
ln -sf $(basename $DIR-remote) $DIR
|