From: Junio C Hamano Date: Thu, 25 Feb 2016 20:32:37 GMT Subject: Re: [PATCH v2] git: submodule honor -c credential.* from command line Message-ID: In-Reply-To: Jacob Keller writes: > On Wed, Feb 24, 2016 at 11:11 PM, Jeff King wrote: >> static int clone_submodule(const char *path, const char *gitdir, const char *url, >> const char *depth, const char *reference, int quiet) >> { >> @@ -145,7 +166,7 @@ static int clone_submodule(const char *path, const char *gitdir, const char *url >> argv_array_push(&cp.args, path); >> >> cp.git_cmd = 1; >> - cp.env = local_repo_env; >> + add_submodule_repo_env(&cp.env_array); >> cp.no_stdin = 1; >> >> return run_command(&cp); > > > Ignore my previous comment. The cp.env API is *very* subtle. If the > line is just a name, it removes the environment variable, while > "name=value" adds it. That is definitely not what I was expecting > here, so I misread how it works. I think that is modelled after how putenv(3) is made capable of removing an existing environment variable.