git-remote-fd
Name
git-remote-fd - Reflect smart transport stream back to caller
Synopsis
"fd::<infd>[,<outfd>][/<anything>]" (as URL)
Description
This helper uses specified file descriptors to connect to a remote Git server. This is not meant for end users but for programs and scripts calling git fetch, push or archive.
If only <infd> is given, it is assumed to be a bidirectional socket connected to remote Git server (git-upload-pack, git-receive-pack or git-upload-archive). If both <infd> and <outfd> are given, they are assumed to be pipes connected to a remote Git server (<infd> being the inbound pipe and <outfd> being the outbound pipe.
It is assumed that any handshaking procedures have already been completed (such as sending service request for git://) before this helper is started.
<anything> can be any string. It is ignored. It is meant for providing information to user in the URL in case that URL is displayed in some context.
Environment variables
- GIT_TRANSLOOP_DEBUG
-
If set, prints debugging information about various reads/writes.
Examples
-
git fetch fd::17 master
-
Fetch master, using file descriptor #17 to communicate with git-upload-pack.
-
git fetch fd::17/foo master
-
Same as above.
-
git push fd::7,8 master (as URL)
-
Push master, using file descriptor #7 to read data from git-receive-pack and file descriptor #8 to write data to same service.
-
git push fd::7,8/bar master
-
Same as above.
See also
© 2012–2021 Scott Chacon and others
Licensed under the MIT License.
https://git-scm.com/docs/git-remote-fd