This series makes the main git executable not link against libcurl, which greatly improves performance of running large numbers of simple git commands on systems where libcurl in turn links against complex libraries. This version makes the helper program interface more extensible, allowing it to not support the native-object "fetch" command, and requiring it to support a "capabilities" command that the transport code can call to find out what is supported. It also makes the transport code call git-remote-<method> for suitable URL methods; future work could make transport.c not have to know about particular helpers at all, although this requires futher infrastructure beyond the scope of this series to do without regressing useability. I believe it addresses all of the review comments, except for those pertaining to future directions; I believe this version supports extensibility in the relevant ways, so the details are outside the scope of this series. Daniel Barkalow (3): Add support for external programs for handling native fetches Use an external program to implement fetching with curl Linus Torvalds (1): git-http-fetch: not a builtin Documentation/git-remote-helpers.txt | 72 +++++++++++++++ Makefile | 16 +++- git.c | 3 - builtin-http-fetch.c => http-fetch.c | 5 +- remote-curl.c | 139 ++++++++++++++++++++++++++++ transport-helper.c | 168 ++++++++++++++++++++++++++++++++++ transport.c | 136 +--------------------------- transport.h | 3 + 8 files changed, 399 insertions(+), 143 deletions(-) create mode 100644 Documentation/git-remote-helpers.txt rename builtin-http-fetch.c => http-fetch.c (95%) create mode 100644 remote-curl.c create mode 100644 transport-helper.c -- 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