Re: [PATCH v2] git: submodule honor -c credential.* from command line
- From
Jacob Keller <jacob.keller@gmail.com>
- Date
- Feb 25, 2016, 21:48 UTC
- Message-ID
- <CA+P7+xoMZA4TX2nB3VsgpjsozAf=0PaEDSGcyefFcnVfNwUVqA@mail.gmail.com>
- In-Reply-To
- <xmqqziuomsyi.fsf@gitster.mtv.corp.google.com>
On Thu, Feb 25, 2016 at 12:32 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 24 quoted lines
> Jacob Keller <jacob.keller@gmail.com> writes:
>
>> On Wed, Feb 24, 2016 at 11:11 PM, Jeff King <peff@peff.net> 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.Yes. It makes perfect sense once you read it, i was just very confused at the initial glance because it felt like it was copying the entire local_repo_env into the submodule child process. I just read the technical API documentation and understand it now.
Thanks, Jake