This series is reroll of previous version of smart transport extensions, with various technical nits addressed and some errors fixed. Also rebased on top of latest next. Major changes: - Service names now have 'git-' prefix. - Successful response to <connect> is "", not "OK". - Removed <connect> "ERROR" response. - <connect-r> renamed to <connect>. - <invoke-r> removed. Pass service executable as option "servpath" instead. - HTTP helpers are now hardlinked if possible (copied if not). - Revert the changes to way helpers are invoked.[1] - Actually test the intermediate states for gross errors. [1] The current way seems to have all sorts of funky failure cases, but I'm not touching it without fixing it properly. Known issues (not caused by this code and does not need this code to be visible): - Segfaults when closing transports, caused by double-frees - Funky error message if trying to use not-present helper. Ilari Liusvaara (8): Pass unknown protocols to external protocol handlers Refactor git transport options parsing Support taking over transports Support remote helpers implementing smart transports Support remote archive from external protocol helpers Remove special casing of http, https and ftp Add remote helper debug mode Support mandatory capabilities .gitignore | 4 + Documentation/git-remote-helpers.txt | 33 ++++- Makefile | 24 +++- builtin-archive.c | 17 ++- transport-helper.c | 258 +++++++++++++++++++++++++++++----- transport.c | 258 +++++++++++++++++++++++++++------ transport.h | 32 ++++ 7 files changed, 534 insertions(+), 92 deletions(-) -- 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