diff options
author | Jeff King <peff@peff.net> | 2016-04-28 09:39:15 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-04-28 12:15:29 -0700 |
commit | c12e8656700be6084aec49df66447e701fda1ecf (patch) | |
tree | ece62f579fa799a8345d42972671d01c272aec6e /t/t5550-http-fetch-dumb.sh | |
parent | 4638728c632e59715b7346ddeca83528d37a4894 (diff) | |
download | git-c12e8656700be6084aec49df66447e701fda1ecf.tar.gz git-c12e8656700be6084aec49df66447e701fda1ecf.tar.xz |
submodule: use prepare_submodule_repo_env consistently
Before 14111fc (git: submodule honor -c credential.* from
command line, 2016-02-29), it was sufficient for code which
spawned a process in a submodule to just set the child
process's "env" field to "local_repo_env" to clear the
environment of any repo-specific variables.
That commit introduced a more complicated procedure, in
which we clear most variables but allow through sanitized
config. For C code, we used that procedure only for cloning,
but not for any of the programs spawned by submodule.c. As a
result, things like "git fetch --recurse-submodules" behave
differently than "git clone --recursive"; the former will
not pass through the sanitized config.
We can fix this by using prepare_submodule_repo_env()
everywhere in submodule.c.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5550-http-fetch-dumb.sh')
-rwxr-xr-x | t/t5550-http-fetch-dumb.sh | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh index 13ac788fd..3484b6f0f 100755 --- a/t/t5550-http-fetch-dumb.sh +++ b/t/t5550-http-fetch-dumb.sh @@ -112,6 +112,17 @@ test_expect_success 'cmdline credential config passes to submodule via clone' ' expect_askpass pass user@host ' +test_expect_success 'cmdline credential config passes submodule via fetch' ' + set_askpass wrong pass@host && + test_must_fail git -C super-clone fetch --recurse-submodules && + + set_askpass wrong pass@host && + git -C super-clone \ + -c "credential.$HTTPD_URL.username=user@host" \ + fetch --recurse-submodules && + expect_askpass pass user@host +' + test_expect_success 'cmdline credential config passes submodule update' ' # advance the submodule HEAD so that a fetch is required git commit --allow-empty -m foo && |