On Thu, Apr 28, 2016 at 6:37 AM, Jeff King <peff@xxxxxxxx> wrote: > Commit 14111fc (git: submodule honor -c credential.* from > command line, 2016-02-29) taught git-submodule.sh to save > the sanitized value of $GIT_CONFIG_PARAMETERS when clearing > the environment for a submodule. However, it failed to > export the result, meaning that it had no effect for any > sub-programs. > > We didn't catch this in our initial tests because we checked > only the "clone" case, which does not go through the shell > script at all. Provoking "git submodule update" to do a > fetch demonstrates the bug. > > Noticed-by: Lars Schneider <larsxschneider@xxxxxxxxx> > Signed-off-by: Jeff King <peff@xxxxxxxx> > --- > git-submodule.sh | 1 + > t/t5550-http-fetch-dumb.sh | 17 +++++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/git-submodule.sh b/git-submodule.sh > index 2a84d7e..3a40d4b 100755 > --- a/git-submodule.sh > +++ b/git-submodule.sh > @@ -200,6 +200,7 @@ sanitize_submodule_env() > sanitized_config=$(git submodule--helper sanitize-config) > clear_local_git_env > GIT_CONFIG_PARAMETERS=$sanitized_config > + export GIT_CONFIG_PARAMETERS > } > > # > diff --git a/t/t5550-http-fetch-dumb.sh b/t/t5550-http-fetch-dumb.sh > index e8e91bb..13ac788 100755 > --- a/t/t5550-http-fetch-dumb.sh > +++ b/t/t5550-http-fetch-dumb.sh > @@ -112,6 +112,23 @@ test_expect_success 'cmdline credential config passes to submodule via clone' ' > 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 && > + git push "$HTTPD_DOCUMENT_ROOT_PATH/auth/dumb/repo.git" HEAD && > + sha1=$(git rev-parse HEAD) && > + git -C super-clone update-index --cacheinfo 160000,$sha1,sub && The use of update-index seems elegant to me, though different than any submodule test I wrote so far. :) > + > + set_askpass wrong pass@host && > + test_must_fail git -C super-clone submodule update && > + > + set_askpass wrong pass@host && > + git -C super-clone \ > + -c "credential.$HTTPD_URL.username=user@host" \ > + submodule update && > + expect_askpass pass user@host > +' > + > test_expect_success 'fetch changes via http' ' > echo content >>file && > git commit -a -m two && > -- > 2.8.1.617.gbdccc2d > -- 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