Re: [PATCHv4 1/2] http.c: implement the GIT_TRACE_CURL environment variable
- From
Jeff King <peff@peff.net>
- Date
- Apr 28, 2016, 17:44 UTC
- Message-ID
- <20160428174423.GA32486@sigill.intra.peff.net>
- In-Reply-To
- <CAGZ79kYe-WsAJj3xkr9YkHZbHqQ9rhKV80+K0Bx3SZsB85+tHA@mail.gmail.com>
On Thu, Apr 28, 2016 at 10:26:06AM -0700, Stefan Beller wrote:
Show 8 quoted lines
> > +'GIT_TRACE_CURL':: > > + Enables a curl full trace dump of all incoming and outgoing data, > > + including descriptive information, of the git transport protocol. > > + This is similar to doing curl --trace-ascii on the command line. > > + This option overrides setting the GIT_CURL_VERBOSE environment > > + variable. > > How does it overwrite the GIT_CURL_VERBOSE variable?
You can't use both, as they are both triggered using the CURLOPT_VERBOSE option of curl. The main difference is that with GIT_CURL_VERBOSE, we rely on curl to print the information to stderr. With GIT_CURL_TRACE, we do the printing ourselves (so we can tweak the output format, send it to places other than stderr, etc).
Show 5 quoted lines
> After a quick `grep -r GIT_CURL_VERBOSE`, I notice 2 things: > > * apparently GIT_CURL_VERBOSE is used as a boolean, > so I presume we assume True for GIT_CURL_VERBOSE, but > extend it?
It's not a boolean. If the variable exists at all, we turn on verbose output (so I guess you can consider it a boolean, but we do not parse its contents as boolean; GIT_CURL_VERBOSE=false does not do what you might think).
> * GIT_CURL_VERBOSE is not documented at all. (It is mentioned in > the release notes for 2.3.0, not sure if that counts as documentation) > As you know the area, care to send a documentation patch for > GIT_CURL_VERBOSE?
I think there is no need for GIT_CURL_VERBOSE once we have GIT_TRACE_CURL. The latter is more flexible and matches the GIT_TRACE_* interface we use elsewhere.
So I think we should consider GIT_CURL_VERBOSE deprecated (though I do not mind keeping it for old-timers since it is literally one line of code).
-Peff