diff options
author | Stefan Beller <sbeller@google.com> | 2017-05-26 12:10:13 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-05-30 14:28:54 +0900 |
commit | 1d789d089280539ca39b83aabb67860929d39b75 (patch) | |
tree | e3d77202b1f199be4ce57a3f19c8a390aa192b4a /LGPL-2.1 | |
parent | reset/checkout/read-tree: unify config callback for submodule recursion (diff) | |
download | tgif-1d789d089280539ca39b83aabb67860929d39b75.tar.xz |
submodule loading: separate code path for .gitmodules and config overlay
The .gitmodules file is not supposed to have all the options available,
that are available in the configuration so separate it out.
A configuration option such as the hypothetical submodule.color.diff
that determines in which color a submodule change is printed,
is a very user specific thing, that the .gitmodules file should
not tamper with.
The .gitmodules file should only be used for settings that required
to setup the project in which the .gitmodules file is tracked. As the
minimum this would only include the name<->path mapping of the
submodule and its URL and branch.
Any further setting (such as 'fetch.recursesubmodules' or
'submodule.<name>.{update, ignore, shallow}') is not specific
to the project setup requirements, but rather is a distribution
of suggested developer configurations. In other areas of Git
a suggested developer configuration is not transported in-tree
but via other means. In an organisation this could be done
by deploying an opinionated system wide config (/etc/gitconfig)
or by putting the settings in the users home directory when
they start at the organisation. In open source projects this
is often accomplished via extensive READMEs (cf. our
SubmittingPatches/CodingGuidlines).
As a later patch in this series wants to introduce
a generic submodule recursion option, we want to make
sure that switch is not exposed via the gitmodules file.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'LGPL-2.1')
0 files changed, 0 insertions, 0 deletions