[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



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.