From: Jacob Keller Date: Tue, 13 Jan 2026 02:17:40 GMT Subject: Re: [PATCH] Fetch missing submodule objects from default remote Message-ID: In-Reply-To: <20260112213612.2761854-1-nasser.grainawi@oss.qualcomm.com> On Mon, Jan 12, 2026 at 1:36 PM Nasser Grainawi wrote: > > When be76c2128234d94b47f7087152ee55d08bb65d88 added support for fetching > a missing submodule object by id, it hardcoded the remote name as > "origin" and deferred anything more complicated for a later patch. > Implement the NEEDSWORK item to remove the hardcoded assumption by > adding and using a submodule helper subcmd 'get-default-remote'. Fixing > this lets 'git fetch --recurse-submodules' succeed when the fetched > commit(s) in the superproject trigger a submodule fetch, and that > submodule's default remote name is not "origin". > > Add non-"origin" remote tests to t5526-fetch-submodules.sh and > t5572-pull-submodule.sh demonstrating this works as expected and add > dedicated tests for get-default-remote. > > Signed-off-by: Nasser Grainawi > --- > The original commit was a bit over 7 years ago, so I guess it worked > fine for most users. I've now run into cases where it doesn't work while > using 'repo' tool manifests that use a non-"origin" remote name and > contain projects with submodules. > > I kept this as a single commit because most of the code delta is in the new > test for the new submodule helper command, but it could easily be split into > two commits if that's preferred. > > builtin/submodule--helper.c | 38 +++++ > submodule.c | 17 ++- > t/meson.build | 1 + > t/t5526-fetch-submodules.sh | 52 +++++++ > t/t5572-pull-submodule.sh | 21 ++- > t/t7425-submodule-get-default-remote.sh | 186 ++++++++++++++++++++++++ > 6 files changed, 312 insertions(+), 3 deletions(-) > create mode 100755 t/t7425-submodule-get-default-remote.sh > I've had this exact same issue due to setting a default name of upstream instead of origin due to how I like to name things for fork-based workflows. The change looks good and the tests are appreciated. I recall trying to fix related issues with the following series, but I think I lost track of its development and never saw it through to merging: https://lore.kernel.org/git/20250623-jk-submodule-helper-use-url-v4-0-133ef3d89569@gmail.com/ Reading through that series, it doesn't fix this particular hard coding either, so this is an improvement regardless. Reviewed-by: Jacob Keller