Thread (2 messages) 2 messages, 2 authors, 2021-04-13

Re: [RFC PATCH 2/2] config: add 'config.superproject' file

From: Junio C Hamano <hidden>
Date: 2021-04-09 22:29:52

Possibly related (same subject, not in this thread)

Matheus Tavares Bernardino [off-list ref] writes:
Hi, Emily

I'm not familiar enough with this code to give a full review and I
imagine you probably want comments more focused on the design level,
while this is an RFC, but here are some small nitpicks I found while
reading the patch. I Hope it helps :)

On Thu, Apr 8, 2021 at 8:39 PM Emily Shaffer [off-list ref] wrote:
quoted
diff --git a/Documentation/git-config.txt b/Documentation/git-config.txt
index 4b4cc5c5e8..a33136fb08 100644
--- a/Documentation/git-config.txt
+++ b/Documentation/git-config.txt
@@ -48,7 +48,7 @@ unset an existing `--type` specifier with `--no-type`.

 When reading, the values are read from the system, global and
 repository local configuration files by default, and options
-`--system`, `--global`, `--local`, `--worktree` and
+`--system`, `--global`, `--superproject`, `--local`, `--worktree` and
 `--file <filename>` can be used to tell the command to read from only
 that location (see <<FILES>>).
@@ -127,6 +127,17 @@ rather than from all available files.
 +
 See also <<FILES>>.

+--superproject::
+       For writing options: write to the superproject's
+       `.git/config.superproject` file, even if run from a submodule of that
+       superproject.
Hmm, I wonder what happens if a repo is both a submodule and a
superproject (i.e. in case of nested submodules).
Another thing I am not sure about the design is that a repository
can be shared as a submodule by more than one superprojects.  The
superprojects may want their submodule checkouts at different
submodule commits, but that is something doable by having multiple
worktrees connected to a single submodule repository.

I think our design principle has been that it is perfectly OK for a
superproject to be in total control if its submodules, but
submodules should not even be aware of being used as a submodule by
a superproject, and that allows a submodule repository to be shared
by multiple superprojects.  As "write to the superproject's X file"
requires a submodule to know who THE superproject of itself is, this
feature itself (not the implementation) feels somewhat iffy.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help