My use case is an army of build agents that need only limited and selective access to otherwise private repositories. I apologize for sending out v5 after v4 was already acknowledged: my initial testing was on simple repositories and I forgot that my build agents need to handle submodules, too. So here goes v5, the only change being the addition of the second patch that adds support for passing the extra headers to git-submodule through the command-line. Johannes Schindelin (2): http: support sending custom HTTP headers submodule: pass on http.extraheader config settings Documentation/config.txt | 6 ++++++ builtin/submodule--helper.c | 4 +++- http-push.c | 10 +++++----- http.c | 35 ++++++++++++++++++++++++++++++++--- http.h | 1 + remote-curl.c | 4 ++-- t/lib-httpd/apache.conf | 8 ++++++++ t/t5551-http-fetch-smart.sh | 16 ++++++++++++++++ 8 files changed, 73 insertions(+), 11 deletions(-) Interdiff vs v4: diff --git a/builtin/submodule--helper.c b/builtin/submodule--helper.c index 3bd6883..b338f93 100644 --- a/builtin/submodule--helper.c +++ b/builtin/submodule--helper.c @@ -127,7 +127,9 @@ static int module_name(int argc, const char **argv, const char *prefix) */ static int submodule_config_ok(const char *var) { - if (starts_with(var, "credential.")) + if (starts_with(var, "credential.") || + (starts_with(var, "http.") && + ends_with(var, ".extraheader"))) return 1; return 0; } diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh index e44fe72..1794168 100755 --- a/t/t5551-http-fetch-smart.sh +++ b/t/t5551-http-fetch-smart.sh @@ -286,7 +286,16 @@ test_expect_success 'custom http headers' ' test_must_fail git fetch "$HTTPD_URL/smart_headers/repo.git" && git -c http.extraheader="x-magic-one: abra" \ -c http.extraheader="x-magic-two: cadabra" \ - fetch "$HTTPD_URL/smart_headers/repo.git" + fetch "$HTTPD_URL/smart_headers/repo.git" && + git update-index --add --cacheinfo 160000,$(git rev-parse HEAD),sub && + git config -f .gitmodules submodule.sub.path sub && + git config -f .gitmodules submodule.sub.url \ + "$HTTPD_URL/smart_headers/repo.git" && + git submodule init sub && + test_must_fail git submodule update sub && + git -c http.extraheader="x-magic-one: abra" \ + -c http.extraheader="x-magic-two: cadabra" \ + submodule update sub ' stop_httpd -- 2.8.1.306.gff998f2 -- 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