On Tue, Apr 26, 2016 at 10:03:14AM -0700, Junio C Hamano wrote: > > +http.extraHeader:: > > + Pass an additional HTTP header when communicating with a server. If > > + more than one such entry exists, all of them are added as extra headers. > > + This feature is useful e.g. to increase security, or to allow > > + time-limited access based on expiring tokens. > > + > > I think one-time/short-lived use case does not want to have this in > a configuration file, and instead want to do the command line thing > you illustrated in the proposed log message. I however wonder if > there are other use cases where having this in $GIT_DIR/config for > repeated use is useful. If there is, not being able to override a > configured value per invocation would become a problem. > > Peff, what do you think? I vaguely recollect that you did a hack to > one variable that declares "an empty value means discard accumulated > values so far" or something like that, and this variable deserves a > mechanism like that, too. Yes, it was for credential.helper. I think the _implementation_ is a hack (because each callback has to handle it individually), but the user-facing part is reasonably elegant, given the constraint of not introducing new syntax. In this case it would be something like: diff --git a/http.c b/http.c index 3d662bb..a7a4be5 100644 --- a/http.c +++ b/http.c @@ -325,8 +325,13 @@ static int http_options(const char *var, const char *value, void *cb) } if (!strcmp("http.extraheader", var)) { - extra_http_headers = - curl_slist_append(extra_http_headers, value); + if (*value) + extra_http_headers = + curl_slist_append(extra_http_headers, value); + else { + curl_slist_free_all(extra_http_headers); + extra_http_headers = NULL; + } return 0; } But I think this block (even before my patch) also needs to handle the case where "value" is NULL (presumably by complaining with config_error_nonbool). -Peff -- 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