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>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Jason Andryuk <jason.andryuk@amd.com>
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
On 2025-02-21 17:34, 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 <jason.andryuk@amd.com> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
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 <jason.andryuk@amd.com> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > CC: Anthony PERARD <anthony.perard@vates.tech> > CC: Michal Orzel <michal.orzel@amd.com> > CC: Jan Beulich <jbeulich@suse.com> > CC: Julien Grall <julien@xen.org> > CC: Roger Pau Monné <roger.pau@citrix.com> > CC: Stefano Stabellini <sstabellini@kernel.org> > CC: Jason Andryuk <jason.andryuk@amd.com> > > 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 >
© 2016 - 2025 Red Hat, Inc.