Re: [PATCH v3] submodule: fetch missing objects from default remote
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jan 24, 2026, 02:18 UTC
- Message-ID
- <xmqqms23lpn2.fsf@gitster.g>
- In-Reply-To
- <xmqq4iobhpvg.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 25 quoted lines
> Nasser Grainawi <nasser.grainawi@oss.qualcomm.com> writes: > >> diff --git a/t/t5572-pull-submodule.sh b/t/t5572-pull-submodule.sh >> index 45f384dd32..faafe31409 100755 >> --- a/t/t5572-pull-submodule.sh >> +++ b/t/t5572-pull-submodule.sh >> @@ -257,7 +257,26 @@ test_expect_success 'fetch submodule remote of different name from superproject' >> git -C a-submodule reset --hard HEAD^^ && >> >> git -C child pull --no-recurse-submodules && >> - git -C child submodule update >> + git -C child submodule update && >> + test_path_is_file child/a-submodule/moreecho.t >> +' >> + >> +test_expect_success 'fetch submodule remote of different non-origin name from superproject' ' >> + git -C child/a-submodule remote rename origin o2 && >> + >> + # Create commit that is unreachable from current master branch >> + git -C a-submodule checkout -b newmain2 master^ && > > This test assumes that the first branch created by default is > 'master', which will break in one of the CI jobs: > > https://github.com/git/git/actions/runs/21304166518/job/61328461844#step:9:1942
For now, I've queued two fix-up patches on top of the posted patch to avoid CI breakages when the topic is merged to 'seen'. One is to rename t7425-submodule-get-default-remote.sh to t7426-submodule-get-default-remote.sh (both filename and the reference to it in t/meson.build), and the other one is the following.
----- >8 ----- Subject: [PATCH] SQUASH??? fixup
The test as posted breaks when run with
$ make WITH_BREAKING_CHANGES=YesPlease test
as the added part assumes that the default branch name is "master".
This band-aid is sufficient for the purpose of the maintainer to get the CI passing, but the real solution should probably be done better in such a way that the latter step does not have to rely on the creation of "anchorpoint" in the previous step. I'll leave it to the contributor of the topic. --- t/t5572-pull-submodule.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/t/t5572-pull-submodule.sh b/t/t5572-pull-submodule.sh index faafe31409..dfc07d050b 100755 --- a/t/t5572-pull-submodule.sh +++ b/t/t5572-pull-submodule.sh @@ -246,7 +246,8 @@ test_expect_success 'fetch submodule remote of different name from superproject' git -C child submodule update --init && # Needs to create unreachable commit from current master branch. - git -C a-submodule checkout -b newmain HEAD^ && + git -C a-submodule tag anchorpoint HEAD && + git -C a-submodule checkout -b newmain anchorpoint^ && test_commit -C a-submodule echo && test_commit -C a-submodule moreecho && subc=$(git -C a-submodule rev-parse --short HEAD) && @@ -265,7 +266,7 @@ test_expect_success 'fetch submodule remote of different non-origin name from su git -C child/a-submodule remote rename origin o2 && # Create commit that is unreachable from current master branch - git -C a-submodule checkout -b newmain2 master^ && + git -C a-submodule checkout -b newmain2 anchorpoint^ && test_commit -C a-submodule echo_o2 && test_commit -C a-submodule moreecho_o2 && subc=$(git -C a-submodule rev-parse --short HEAD) &&
-- 2.53.0-rc1-193-g609e9a7b29