In C code we have the luxury of having constants for all the important things that are hard coded. This is the only place in C, that hard codes the git directory environment variable, so fix it. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- v2: argv_array_pushf and realigned. v1: Signed-off-by-the-format-patch-config ;) This is the only occurrence for "GIT_DIR=" in C, but what about ".git" git grep "\.git\"" *.c finds some places, which we may want to convert to DEFAULT_GIT_DIR_ENVIRONMENT? (mainly things that are newer if I can judge the places correctly lots of submodules, worktrees and the no data in ".git" bug AFAICT) Thanks, Stefan submodule.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/submodule.c b/submodule.c index ece17315d6..973b9f3f96 100644 --- a/submodule.c +++ b/submodule.c @@ -1333,5 +1333,6 @@ void prepare_submodule_repo_env(struct argv_array *out) if (strcmp(*var, CONFIG_DATA_ENVIRONMENT)) argv_array_push(out, *var); } - argv_array_push(out, "GIT_DIR=.git"); + argv_array_pushf(out, "%s=%s", GIT_DIR_ENVIRONMENT, + DEFAULT_GIT_DIR_ENVIRONMENT); } -- 2.11.0.259.ga95e92af08.dirty