Subject: Re: curl

From: Carlos Martín Nieto <[email-masked]>
Date: Tue, 28 Apr 2015 11:27:13 +0200

On Tue, 2015-04-28 at 00:57 -0400, Jeff King wrote:
> On Mon, Apr 27, 2015 at 11:49:51PM -0300, Thiago Farina wrote:
> 
> > Is it right that git uses libcurl to download while libgit2 does without it?
> 
> I'm not sure if you mean "right" as in "this statement is true" or as in
> "is this a good thing that it is the case".
> 
> For the former, yes, libgit2 does not use curl.  On Windows, it can use
> the native http calls (which do nice things like using the system proxy
> and auth systems). On Unix, I think it is a combination of hand-rolled
> code, openssl, and an imported http parser (from nginx).
> 
> Whether that is a good idea or not, I can't comment too much. From what
> I have seen discussed in libgit2 issues, the stock http transport is
> meant to be bare-bones (but with minimal dependencies). But it could
> co-exist with a curl transport (just as it does with the WinHTTP
> transport).  Maybe Carlos (cc'd) can say more.

This is accurate, though I'll add that the development version of
libgit2 now uses SecureTransport instead of OpenSSL on Mac OS X.

But this is just the default. You can replace what libgit2 will use as a
transport if you have special needs. Visual Studio use their own network
code, and the cargo package manager uses libcurl. Eventually libcurl
support will likely be added to mainline libgit2, when we find time.

   cmn