The first helper (fd) is meant for frontends that want to override how transport link is created. Currently this would require hacks based on either GIT_SSH or GIT_PROXY (see tortoiseplink). It works by reflecting the smart transport stream to specified file descriptors. The second one (ext) invokes specified command, reading/writing smart transport stream (with optional git://-style request) to its stdin/stdout. It is meant for situations where one wants unusual kind of transport link. It can be ssh connection with one-off parameters[1], things like rsh (if you have to use it because some absolutely incomprehensible reason, hopefully its really krb5-rsh)[2], wrapping git:// in TLS[3], accessing servers on unix domain sockets[4], etc... Changes from last time: - This cover letter. - Support \G and \V which are for sending git:// style request in-channel.[5] [1] "ext::ssh -i somekey user@xxxxxxxxxxxx \S /path/to/repo.git" [2] "ext::rsh -l user host.example \S /path/to/repo.git" [3] Don't ask me how, especially not how to get connection to git-daemon2 that way. [4] "ext::socat - ABSTRACT-CONNECT:/tmp/gits \G/gitolite-admin" [5] "ext::nc host.example 9418 \G/repo.git \Vfoo.host.example" (with vhost) or "ext::nc host.example 9418 \G/repo.git" (without vhost). Ilari Liusvaara (2): New remote helper git-remote-fd New remote helper: git-remote-ext Makefile | 2 + builtin.h | 2 + builtin/remote-ext.c | 300 ++++++++++++++++++++++++++++++++++++++++++++++++++ builtin/remote-fd.c | 88 +++++++++++++++ git.c | 2 + transport-helper.c | 130 ++++++++++++++++++++++ transport.h | 1 + 7 files changed, 525 insertions(+), 0 deletions(-) create mode 100644 builtin/remote-ext.c create mode 100644 builtin/remote-fd.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