[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] scripts: Fix git-checkout.sh to work with non-master branches (take 2)
commit 01fb23dd71006d87e874f310e9c50f31582f274e Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Oct 31 13:35:40 2024 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Tue Feb 25 13:30:55 2025 +0000 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@xxxxxxx> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx> --- scripts/git-checkout.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh index fd4425ac4e..56a60193a7 100755 --- a/scripts/git-checkout.sh +++ b/scripts/git-checkout.sh @@ -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 -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |