> On 28 Apr 2016, at 13:25, Jeff King <peff@xxxxxxxx> wrote: > > On Thu, Apr 28, 2016 at 01:06:45PM +0200, Lars Schneider wrote: > >> I got my Git-LFS use case working with the patch below. >> For me it was necessary to export GIT_CONFIG_PARAMETERS >> to make it available to the Git process if the process is >> invoked as follows [2]: >> >> (sanitize_submodule_env; cd "$sm_path" && git <something>") > > Hrm. I'm not sure why you need to export. Or perhaps, I am not sure why > it ever works in the first place in git-submodule.sh. In this code: > >> diff --git a/git-submodule.sh b/git-submodule.sh >> index 2a84d7e..b02f5b9 100755 >> --- a/git-submodule.sh >> +++ b/git-submodule.sh >> @@ -199,7 +199,7 @@ sanitize_submodule_env() >> { >> sanitized_config=$(git submodule--helper sanitize-config) >> clear_local_git_env >> - GIT_CONFIG_PARAMETERS=$sanitized_config >> + export GIT_CONFIG_PARAMETERS=$sanitized_config >> } > > If you already have $GIT_CONFIG_PARAMETERS exported when we enter the > function, then we should not need to re-export it when changing the > value in the final line (the export bit is retained by the shell). But > if you don't have it set already, then $sanitized_config must by > definition be empty. > > So it should do the right thing without the export. > > At the same time, clear_local_git_env() will call "unset" on > GIT_CONFIG_PARAMETERS. Which would clear the export bit, meaning the > final line doesn't ever have any impact on sub-programs, and the whole > thing is totally broken. But then, why does the test in t5550 pass? > > Confused... I am no expert in the Submodule code but I think the cloning of the submodules is not yet guarded with sanitize_submodule_env [3]. That means the submodule is cloned with the GIT_CONFIG_PARAMETERS of the super project. That might explain why t5550 passes as the credential config is only used in that area. The submodule checkout is guarded with sanitize_submodule_env and therefore my Git-LFS filter use case is affect. Does this sound reasonable? Thanks, Lars [3] https://github.com/git/git/blob/3ad15fd5e17bbb73fb1161ff4e9c3ed254d5b243/git-submodule.sh#L704-L711 [4] https://github.com/git/git/blob/3ad15fd5e17bbb73fb1161ff4e9c3ed254d5b243/git-submodule.sh#L811 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html