<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t/lib-verify-submodule-gitdir-path.sh, branch main</title>
<subtitle>Fork of git SCM with my patches.</subtitle>
<id>http://git.kilabit.info/git/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/'/>
<updated>2026-01-12T19:56:55Z</updated>
<entry>
<title>submodule: introduce extensions.submodulePathConfig</title>
<updated>2026-01-12T19:56:55Z</updated>
<author>
<name>Adrian Ratiu</name>
<email>adrian.ratiu@collabora.com</email>
</author>
<published>2026-01-12T18:46:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/git/commit/?id=4173df5187c8ba8bc2cc1a215f25b284d70631da'/>
<id>urn:sha1:4173df5187c8ba8bc2cc1a215f25b284d70631da</id>
<content type='text'>
The idea of this extension is to abstract away the submodule gitdir
path implementation: everyone is expected to use the config and not
worry about how the path is computed internally, either in git or
other implementations.

With this extension enabled, the submodule.&lt;name&gt;.gitdir repo config
becomes the single source of truth for all submodule gitdir paths.

The submodule.&lt;name&gt;.gitdir config is added automatically for all new
submodules when this extension is enabled.

Git will throw an error if the extension is enabled and a config is
missing, advising users how to migrate. Migration is manual for now.

E.g. to add a missing config entry for an existing "foo" module:
git config submodule.foo.gitdir .git/modules/foo

Suggested-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Suggested-by: Phillip Wood &lt;phillip.wood123@gmail.com&gt;
Suggested-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Adrian Ratiu &lt;adrian.ratiu@collabora.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
