On Fri, 21 Feb 2025, Andrew Cooper wrote:
> 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 <[email protected]>
> Signed-off-by: Andrew Cooper <[email protected]>

Reviewed-by: Stefano Stabellini <[email protected]>


> ---
> CC: Anthony PERARD <[email protected]>
> CC: Michal Orzel <[email protected]>
> CC: Jan Beulich <[email protected]>
> CC: Julien Grall <[email protected]>
> CC: Roger Pau MonnĂ© <[email protected]>
> CC: Stefano Stabellini <[email protected]>
> CC: Jason Andryuk <[email protected]>
> 
> A second attempt, given that c554ec124b12 ended up having to be reverted.
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1683296906
> ---
>  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 fd4425ac4ee8..a22540a2a5bb 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
> -- 
> 2.39.5
> 

Reply via email to