mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
scripts: Fix git-checkout.sh to work with non-master branches (take 2)
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>
This commit is contained in:
1 parent
c11772277f
commit
01fb23dd71
1 file changed
+5
-4
@@ -1,12 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
if test $# -lt 3; then
|
||||
echo "Usage: $0 <tree> <tag> <dir>"
|
||||
echo "Usage: $0 <tree> <committish> <dir>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TREE=$1
|
||||
TAG=$2
|
||||
COMMITTISH=$2
|
||||
DIR=$3
|
||||
|
||||
set -e
|
||||
@@ -15,10 +15,11 @@ 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 "$TAG" ; then
|
||||
if test "$COMMITTISH" ; then
|
||||
cd $DIR-remote.tmp
|
||||
$GIT fetch origin "$COMMITTISH"
|
||||
$GIT branch -D dummy >/dev/null 2>&1 ||:
|
||||
$GIT checkout -b dummy $TAG
|
||||
$GIT checkout -b dummy FETCH_HEAD
|
||||
cd -
|
||||
fi
|
||||
mv $DIR-remote.tmp $DIR-remote
|
||||
|
||||