Home Explore Blog CI



git

1st chunk of `Documentation/git-remote-fd.adoc`
495b5b9bf8163448be70eaddc8be8b8d2aec1bde42eaa70f000000010000065c
git-remote-fd(1)
================

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 a 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 the 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
	the same service.

`git push fd::7,8/bar master`::
	Same as above.

SEE ALSO
--------
linkgit:gitremote-helpers[7]

GIT
---
Part of the linkgit:git[1] suite

Title: git-remote-fd: Reflect Smart Transport Stream Back to Caller
Summary
git-remote-fd is a helper that uses file descriptors to connect to a remote Git server, allowing programs and scripts to call git fetch, push, or archive without end-user interaction. It is designed for use in automated workflows and is not intended for direct use by end users, providing a way to reflect smart transport streams back to the caller, facilitating communication with git-upload-pack, git-receive-pack, or git-upload-archive services.