| '\" t |
| .\" Title: gitremote-helpers |
| .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
| .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> |
| .\" Date: 02/06/2019 |
| .\" Manual: Git Manual |
| .\" Source: Git 2.21.0.rc0 |
| .\" Language: English |
| .\" |
| .TH "GITREMOTE\-HELPERS" "1" "02/06/2019" "Git 2\&.21\&.0\&.rc0" "Git Manual" |
| .\" ----------------------------------------------------------------- |
| .\" * Define some portability stuff |
| .\" ----------------------------------------------------------------- |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .\" http://bugs.debian.org/507673 |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .ie \n(.g .ds Aq \(aq |
| .el .ds Aq ' |
| .\" ----------------------------------------------------------------- |
| .\" * set default formatting |
| .\" ----------------------------------------------------------------- |
| .\" disable hyphenation |
| .nh |
| .\" disable justification (adjust text to left margin only) |
| .ad l |
| .\" ----------------------------------------------------------------- |
| .\" * MAIN CONTENT STARTS HERE * |
| .\" ----------------------------------------------------------------- |
| .SH "NAME" |
| gitremote-helpers \- Helper programs to interact with remote repositories |
| .SH "SYNOPSIS" |
| .sp |
| .nf |
| \fIgit remote\-<transport>\fR <repository> [<URL>] |
| .fi |
| .sp |
| .SH "DESCRIPTION" |
| .sp |
| Remote helper programs are normally not used directly by end users, but they are invoked by Git when it needs to interact with remote repositories Git does not support natively\&. A given helper will implement a subset of the capabilities documented here\&. When Git needs to interact with a repository using a remote helper, it spawns the helper as an independent process, sends commands to the helper\(cqs standard input, and expects results from the helper\(cqs standard output\&. Because a remote helper runs as an independent process from Git, there is no need to re\-link Git to add a new helper, nor any need to link the helper with the implementation of Git\&. |
| .sp |
| Every helper must support the "capabilities" command, which Git uses to determine what other commands the helper will accept\&. Those other commands can be used to discover and update remote refs, transport objects between the object database and the remote repository, and update the local object store\&. |
| .sp |
| Git comes with a "curl" family of remote helpers, that handle various transport protocols, such as \fIgit\-remote\-http\fR, \fIgit\-remote\-https\fR, \fIgit\-remote\-ftp\fR and \fIgit\-remote\-ftps\fR\&. They implement the capabilities \fIfetch\fR, \fIoption\fR, and \fIpush\fR\&. |
| .SH "INVOCATION" |
| .sp |
| Remote helper programs are invoked with one or (optionally) two arguments\&. The first argument specifies a remote repository as in Git; it is either the name of a configured remote or a URL\&. The second argument specifies a URL; it is usually of the form \fI<transport>://<address>\fR, but any arbitrary string is possible\&. The \fBGIT_DIR\fR environment variable is set up for the remote helper and can be used to determine where to store additional data or from which directory to invoke auxiliary Git commands\&. |
| .sp |
| When Git encounters a URL of the form \fI<transport>://<address>\fR, where \fI<transport>\fR is a protocol that it cannot handle natively, it automatically invokes \fIgit remote\-<transport>\fR with the full URL as the second argument\&. If such a URL is encountered directly on the command line, the first argument is the same as the second, and if it is encountered in a configured remote, the first argument is the name of that remote\&. |
| .sp |
| A URL of the form \fI<transport>::<address>\fR explicitly instructs Git to invoke \fIgit remote\-<transport>\fR with \fI<address>\fR as the second argument\&. If such a URL is encountered directly on the command line, the first argument is \fI<address>\fR, and if it is encountered in a configured remote, the first argument is the name of that remote\&. |
| .sp |
| Additionally, when a configured remote has \fBremote\&.<name>\&.vcs\fR set to \fI<transport>\fR, Git explicitly invokes \fIgit remote\-<transport>\fR with \fI<name>\fR as the first argument\&. If set, the second argument is \fBremote\&.<name>\&.url\fR; otherwise, the second argument is omitted\&. |
| .SH "INPUT FORMAT" |
| .sp |
| Git sends the remote helper a list of commands on standard input, one per line\&. The first command is always the \fIcapabilities\fR command, in response to which the remote helper must print a list of the capabilities it supports (see below) followed by a blank line\&. The response to the capabilities command determines what commands Git uses in the remainder of the command stream\&. |
| .sp |
| The command stream is terminated by a blank line\&. In some cases (indicated in the documentation of the relevant commands), this blank line is followed by a payload in some other protocol (e\&.g\&., the pack protocol), while in others it indicates the end of input\&. |
| .SS "Capabilities" |
| .sp |
| Each remote helper is expected to support only a subset of commands\&. The operations a helper supports are declared to Git in the response to the \fBcapabilities\fR command (see COMMANDS, below)\&. |
| .sp |
| In the following, we list all defined capabilities and for each we list which commands a helper with that capability must provide\&. |
| .sp |
| .it 1 an-trap |
| .nr an-no-space-flag 1 |
| .nr an-break-flag 1 |
| .br |
| .ps +1 |
| \fBCapabilities for Pushing\fR |
| .RS 4 |
| .PP |
| \fIconnect\fR |
| .RS 4 |
| Can attempt to connect to |
| \fIgit receive\-pack\fR |
| (for pushing), |
| \fIgit upload\-pack\fR, etc for communication using git\(cqs native packfile protocol\&. This requires a bidirectional, full\-duplex connection\&. |
| .sp |
| Supported commands: |
| \fIconnect\fR\&. |
| .RE |
| .PP |
| \fIstateless\-connect\fR |
| .RS 4 |
| Experimental; for internal use only\&. Can attempt to connect to a remote server for communication using git\(cqs wire\-protocol version 2\&. See the documentation for the stateless\-connect command for more information\&. |
| .sp |
| Supported commands: |
| \fIstateless\-connect\fR\&. |
| .RE |
| .PP |
| \fIpush\fR |
| .RS 4 |
| Can discover remote refs and push local commits and the history leading up to them to new or existing remote refs\&. |
| .sp |
| Supported commands: |
| \fIlist for\-push\fR, |
| \fIpush\fR\&. |
| .RE |
| .PP |
| \fIexport\fR |
| .RS 4 |
| Can discover remote refs and push specified objects from a fast\-import stream to remote refs\&. |
| .sp |
| Supported commands: |
| \fIlist for\-push\fR, |
| \fIexport\fR\&. |
| .RE |
| .sp |
| If a helper advertises \fIconnect\fR, Git will use it if possible and fall back to another capability if the helper requests so when connecting (see the \fIconnect\fR command under COMMANDS)\&. When choosing between \fIpush\fR and \fIexport\fR, Git prefers \fIpush\fR\&. Other frontends may have some other order of preference\&. |
| .PP |
| \fIno\-private\-update\fR |
| .RS 4 |
| When using the |
| \fIrefspec\fR |
| capability, git normally updates the private ref on successful push\&. This update is disabled when the remote\-helper declares the capability |
| \fIno\-private\-update\fR\&. |
| .RE |
| .RE |
| .sp |
| .it 1 an-trap |
| .nr an-no-space-flag 1 |
| .nr an-break-flag 1 |
| .br |
| .ps +1 |
| \fBCapabilities for Fetching\fR |
| .RS 4 |
| .PP |
| \fIconnect\fR |
| .RS 4 |
| Can try to connect to |
| \fIgit upload\-pack\fR |
| (for fetching), |
| \fIgit receive\-pack\fR, etc for communication using the Git\(cqs native packfile protocol\&. This requires a bidirectional, full\-duplex connection\&. |
| .sp |
| Supported commands: |
| \fIconnect\fR\&. |
| .RE |
| .PP |
| \fIstateless\-connect\fR |
| .RS 4 |
| Experimental; for internal use only\&. Can attempt to connect to a remote server for communication using git\(cqs wire\-protocol version 2\&. See the documentation for the stateless\-connect command for more information\&. |
| .sp |
| Supported commands: |
| \fIstateless\-connect\fR\&. |
| .RE |
| .PP |
| \fIfetch\fR |
| .RS 4 |
| Can discover remote refs and transfer objects reachable from them to the local object store\&. |
| .sp |
| Supported commands: |
| \fIlist\fR, |
| \fIfetch\fR\&. |
| .RE |
| .PP |
| \fIimport\fR |
| .RS 4 |
| Can discover remote refs and output objects reachable from them as a stream in fast\-import format\&. |
| .sp |
| Supported commands: |
| \fIlist\fR, |
| \fIimport\fR\&. |
| .RE |
| .PP |
| \fIcheck\-connectivity\fR |
| .RS 4 |
| Can guarantee that when a clone is requested, the received pack is self contained and is connected\&. |
| .RE |
| .sp |
| If a helper advertises \fIconnect\fR, Git will use it if possible and fall back to another capability if the helper requests so when connecting (see the \fIconnect\fR command under COMMANDS)\&. When choosing between \fIfetch\fR and \fIimport\fR, Git prefers \fIfetch\fR\&. Other frontends may have some other order of preference\&. |
| .RE |
| .sp |
| .it 1 an-trap |
| .nr an-no-space-flag 1 |
| .nr an-break-flag 1 |
| .br |
| .ps +1 |
| \fBMiscellaneous capabilities\fR |
| .RS 4 |
| .PP |
| \fIoption\fR |
| .RS 4 |
| For specifying settings like |
| \fBverbosity\fR |
| (how much output to write to stderr) and |
| \fBdepth\fR |
| (how much history is wanted in the case of a shallow clone) that affect how other commands are carried out\&. |
| .RE |
| .PP |
| \fIrefspec\fR <refspec> |
| .RS 4 |
| For remote helpers that implement |
| \fIimport\fR |
| or |
| \fIexport\fR, this capability allows the refs to be constrained to a private namespace, instead of writing to refs/heads or refs/remotes directly\&. It is recommended that all importers providing the |
| \fIimport\fR |
| capability use this\&. It\(cqs mandatory for |
| \fIexport\fR\&. |
| .sp |
| A helper advertising the capability |
| \fBrefspec refs/heads/*:refs/svn/origin/branches/*\fR |
| is saying that, when it is asked to |
| \fBimport refs/heads/topic\fR, the stream it outputs will update the |
| \fBrefs/svn/origin/branches/topic\fR |
| ref\&. |
| .sp |
| This capability can be advertised multiple times\&. The first applicable refspec takes precedence\&. The left\-hand of refspecs advertised with this capability must cover all refs reported by the list command\&. If no |
| \fIrefspec\fR |
| capability is advertised, there is an implied |
| \fBrefspec *:*\fR\&. |
| .sp |
| When writing remote\-helpers for decentralized version control systems, it is advised to keep a local copy of the repository to interact with, and to let the private namespace refs point to this local repository, while the refs/remotes namespace is used to track the remote repository\&. |
| .RE |
| .PP |
| \fIbidi\-import\fR |
| .RS 4 |
| This modifies the |
| \fIimport\fR |
| capability\&. The fast\-import commands |
| \fIcat\-blob\fR |
| and |
| \fIls\fR |
| can be used by remote\-helpers to retrieve information about blobs and trees that already exist in fast\-import\(cqs memory\&. This requires a channel from fast\-import to the remote\-helper\&. If it is advertised in addition to "import", Git establishes a pipe from fast\-import to the remote\-helper\(cqs stdin\&. It follows that Git and fast\-import are both connected to the remote\-helper\(cqs stdin\&. Because Git can send multiple commands to the remote\-helper it is required that helpers that use |
| \fIbidi\-import\fR |
| buffer all |
| \fIimport\fR |
| commands of a batch before sending data to fast\-import\&. This is to prevent mixing commands and fast\-import responses on the helper\(cqs stdin\&. |
| .RE |
| .PP |
| \fIexport\-marks\fR <file> |
| .RS 4 |
| This modifies the |
| \fIexport\fR |
| capability, instructing Git to dump the internal marks table to <file> when complete\&. For details, read up on |
| \fB\-\-export\-marks=<file>\fR |
| in |
| \fBgit-fast-export\fR(1)\&. |
| .RE |
| .PP |
| \fIimport\-marks\fR <file> |
| .RS 4 |
| This modifies the |
| \fIexport\fR |
| capability, instructing Git to load the marks specified in <file> before processing any input\&. For details, read up on |
| \fB\-\-import\-marks=<file>\fR |
| in |
| \fBgit-fast-export\fR(1)\&. |
| .RE |
| .PP |
| \fIsigned\-tags\fR |
| .RS 4 |
| This modifies the |
| \fIexport\fR |
| capability, instructing Git to pass |
| \fB\-\-signed\-tags=verbatim\fR |
| to |
| \fBgit-fast-export\fR(1)\&. In the absence of this capability, Git will use |
| \fB\-\-signed\-tags=warn\-strip\fR\&. |
| .RE |
| .RE |
| .SH "COMMANDS" |
| .sp |
| Commands are given by the caller on the helper\(cqs standard input, one per line\&. |
| .PP |
| \fIcapabilities\fR |
| .RS 4 |
| Lists the capabilities of the helper, one per line, ending with a blank line\&. Each capability may be preceded with |
| \fI*\fR, which marks them mandatory for Git versions using the remote helper to understand\&. Any unknown mandatory capability is a fatal error\&. |
| .sp |
| Support for this command is mandatory\&. |
| .RE |
| .PP |
| \fIlist\fR |
| .RS 4 |
| Lists the refs, one per line, in the format "<value> <name> [<attr> \&...]"\&. The value may be a hex sha1 hash, "@<dest>" for a symref, or "?" to indicate that the helper could not get the value of the ref\&. A space\-separated list of attributes follows the name; unrecognized attributes are ignored\&. The list ends with a blank line\&. |
| .sp |
| See REF LIST ATTRIBUTES for a list of currently defined attributes\&. |
| .sp |
| Supported if the helper has the "fetch" or "import" capability\&. |
| .RE |
| .PP |
| \fIlist for\-push\fR |
| .RS 4 |
| Similar to |
| \fIlist\fR, except that it is used if and only if the caller wants to the resulting ref list to prepare push commands\&. A helper supporting both push and fetch can use this to distinguish for which operation the output of |
| \fIlist\fR |
| is going to be used, possibly reducing the amount of work that needs to be performed\&. |
| .sp |
| Supported if the helper has the "push" or "export" capability\&. |
| .RE |
| .PP |
| \fIoption\fR <name> <value> |
| .RS 4 |
| Sets the transport helper option <name> to <value>\&. Outputs a single line containing one of |
| \fIok\fR |
| (option successfully set), |
| \fIunsupported\fR |
| (option not recognized) or |
| \fIerror <msg>\fR |
| (option <name> is supported but <value> is not valid for it)\&. Options should be set before other commands, and may influence the behavior of those commands\&. |
| .sp |
| See OPTIONS for a list of currently defined options\&. |
| .sp |
| Supported if the helper has the "option" capability\&. |
| .RE |
| .PP |
| \fIfetch\fR <sha1> <name> |
| .RS 4 |
| Fetches the given object, writing the necessary objects to the database\&. Fetch commands are sent in a batch, one per line, terminated with a blank line\&. Outputs a single blank line when all fetch commands in the same batch are complete\&. Only objects which were reported in the output of |
| \fIlist\fR |
| with a sha1 may be fetched this way\&. |
| .sp |
| Optionally may output a |
| \fIlock <file>\fR |
| line indicating a file under GIT_DIR/objects/pack which is keeping a pack until refs can be suitably updated\&. |
| .sp |
| If option |
| \fIcheck\-connectivity\fR |
| is requested, the helper must output |
| \fIconnectivity\-ok\fR |
| if the clone is self\-contained and connected\&. |
| .sp |
| Supported if the helper has the "fetch" capability\&. |
| .RE |
| .PP |
| \fIpush\fR +<src>:<dst> |
| .RS 4 |
| Pushes the given local <src> commit or branch to the remote branch described by <dst>\&. A batch sequence of one or more |
| \fIpush\fR |
| commands is terminated with a blank line (if there is only one reference to push, a single |
| \fIpush\fR |
| command is followed by a blank line)\&. For example, the following would be two batches of |
| \fIpush\fR, the first asking the remote\-helper to push the local ref |
| \fImaster\fR |
| to the remote ref |
| \fImaster\fR |
| and the local |
| \fBHEAD\fR |
| to the remote |
| \fIbranch\fR, and the second asking to push ref |
| \fIfoo\fR |
| to ref |
| \fIbar\fR |
| (forced update requested by the |
| \fI+\fR)\&. |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| push refs/heads/master:refs/heads/master |
| push HEAD:refs/heads/branch |
| \en |
| push +refs/heads/foo:refs/heads/bar |
| \en |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| Zero or more protocol options may be entered after the last |
| \fIpush\fR |
| command, before the batch\(cqs terminating blank line\&. |
| .sp |
| When the push is complete, outputs one or more |
| \fIok <dst>\fR |
| or |
| \fIerror <dst> <why>?\fR |
| lines to indicate success or failure of each pushed ref\&. The status report output is terminated by a blank line\&. The option field <why> may be quoted in a C style string if it contains an LF\&. |
| .sp |
| Supported if the helper has the "push" capability\&. |
| .RE |
| .PP |
| \fIimport\fR <name> |
| .RS 4 |
| Produces a fast\-import stream which imports the current value of the named ref\&. It may additionally import other refs as needed to construct the history efficiently\&. The script writes to a helper\-specific private namespace\&. The value of the named ref should be written to a location in this namespace derived by applying the refspecs from the "refspec" capability to the name of the ref\&. |
| .sp |
| Especially useful for interoperability with a foreign versioning system\&. |
| .sp |
| Just like |
| \fIpush\fR, a batch sequence of one or more |
| \fIimport\fR |
| is terminated with a blank line\&. For each batch of |
| \fIimport\fR, the remote helper should produce a fast\-import stream terminated by a |
| \fIdone\fR |
| command\&. |
| .sp |
| Note that if the |
| \fIbidi\-import\fR |
| capability is used the complete batch sequence has to be buffered before starting to send data to fast\-import to prevent mixing of commands and fast\-import responses on the helper\(cqs stdin\&. |
| .sp |
| Supported if the helper has the "import" capability\&. |
| .RE |
| .PP |
| \fIexport\fR |
| .RS 4 |
| Instructs the remote helper that any subsequent input is part of a fast\-import stream (generated by |
| \fIgit fast\-export\fR) containing objects which should be pushed to the remote\&. |
| .sp |
| Especially useful for interoperability with a foreign versioning system\&. |
| .sp |
| The |
| \fIexport\-marks\fR |
| and |
| \fIimport\-marks\fR |
| capabilities, if specified, affect this command in so far as they are passed on to |
| \fIgit fast\-export\fR, which then will load/store a table of marks for local objects\&. This can be used to implement for incremental operations\&. |
| .sp |
| Supported if the helper has the "export" capability\&. |
| .RE |
| .PP |
| \fIconnect\fR <service> |
| .RS 4 |
| Connects to given service\&. Standard input and standard output of helper are connected to specified service (git prefix is included in service name so e\&.g\&. fetching uses |
| \fIgit\-upload\-pack\fR |
| as service) on remote side\&. Valid replies to this command are empty line (connection established), |
| \fIfallback\fR |
| (no smart transport support, fall back to dumb transports) and just exiting with error message printed (can\(cqt connect, don\(cqt bother trying to fall back)\&. After line feed terminating the positive (empty) response, the output of service starts\&. After the connection ends, the remote helper exits\&. |
| .sp |
| Supported if the helper has the "connect" capability\&. |
| .RE |
| .PP |
| \fIstateless\-connect\fR <service> |
| .RS 4 |
| Experimental; for internal use only\&. Connects to the given remote service for communication using git\(cqs wire\-protocol version 2\&. Valid replies to this command are empty line (connection established), |
| \fIfallback\fR |
| (no smart transport support, fall back to dumb transports) and just exiting with error message printed (can\(cqt connect, don\(cqt bother trying to fall back)\&. After line feed terminating the positive (empty) response, the output of the service starts\&. Messages (both request and response) must consist of zero or more PKT\-LINEs, terminating in a flush packet\&. The client must not expect the server to store any state in between request\-response pairs\&. After the connection ends, the remote helper exits\&. |
| .sp |
| Supported if the helper has the "stateless\-connect" capability\&. |
| .RE |
| .sp |
| If a fatal error occurs, the program writes the error message to stderr and exits\&. The caller should expect that a suitable error message has been printed if the child closes the connection without completing a valid response for the current command\&. |
| .sp |
| Additional commands may be supported, as may be determined from capabilities reported by the helper\&. |
| .SH "REF LIST ATTRIBUTES" |
| .sp |
| The \fIlist\fR command produces a list of refs in which each ref may be followed by a list of attributes\&. The following ref list attributes are defined\&. |
| .PP |
| \fIunchanged\fR |
| .RS 4 |
| This ref is unchanged since the last import or fetch, although the helper cannot necessarily determine what value that produced\&. |
| .RE |
| .SH "OPTIONS" |
| .sp |
| The following options are defined and (under suitable circumstances) set by Git if the remote helper has the \fIoption\fR capability\&. |
| .PP |
| \fIoption verbosity\fR <n> |
| .RS 4 |
| Changes the verbosity of messages displayed by the helper\&. A value of 0 for <n> means that processes operate quietly, and the helper produces only error output\&. 1 is the default level of verbosity, and higher values of <n> correspond to the number of \-v flags passed on the command line\&. |
| .RE |
| .PP |
| \fIoption progress\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Enables (or disables) progress messages displayed by the transport helper during a command\&. |
| .RE |
| .PP |
| \fIoption depth\fR <depth> |
| .RS 4 |
| Deepens the history of a shallow repository\&. |
| .RE |
| .PP |
| \(aqoption deepen\-since <timestamp> |
| .RS 4 |
| Deepens the history of a shallow repository based on time\&. |
| .RE |
| .PP |
| \(aqoption deepen\-not <ref> |
| .RS 4 |
| Deepens the history of a shallow repository excluding ref\&. Multiple options add up\&. |
| .RE |
| .PP |
| \fIoption deepen\-relative {\(aqtrue\fR|\fIfalse\fR} |
| .RS 4 |
| Deepens the history of a shallow repository relative to current boundary\&. Only valid when used with "option depth"\&. |
| .RE |
| .PP |
| \fIoption followtags\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| If enabled the helper should automatically fetch annotated tag objects if the object the tag points at was transferred during the fetch command\&. If the tag is not fetched by the helper a second fetch command will usually be sent to ask for the tag specifically\&. Some helpers may be able to use this option to avoid a second network connection\&. |
| .RE |
| .sp |
| \fIoption dry\-run\fR {\fItrue\fR|\fIfalse\fR}: If true, pretend the operation completed successfully, but don\(cqt actually change any repository data\&. For most helpers this only applies to the \fIpush\fR, if supported\&. |
| .PP |
| \fIoption servpath <c\-style\-quoted\-path>\fR |
| .RS 4 |
| Sets service path (\-\-upload\-pack, \-\-receive\-pack etc\&.) for next connect\&. Remote helper may support this option, but must not rely on this option being set before connect request occurs\&. |
| .RE |
| .PP |
| \fIoption check\-connectivity\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Request the helper to check connectivity of a clone\&. |
| .RE |
| .PP |
| \fIoption force\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Request the helper to perform a force update\&. Defaults to |
| \fIfalse\fR\&. |
| .RE |
| .PP |
| \fIoption cloning\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Notify the helper this is a clone request (i\&.e\&. the current repository is guaranteed empty)\&. |
| .RE |
| .PP |
| \fIoption update\-shallow\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Allow to extend \&.git/shallow if the new refs require it\&. |
| .RE |
| .PP |
| \fIoption pushcert\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| GPG sign pushes\&. |
| .RE |
| .PP |
| \(aqoption push\-option <string> |
| .RS 4 |
| Transmit <string> as a push option\&. As the push option must not contain LF or NUL characters, the string is not encoded\&. |
| .RE |
| .PP |
| \fIoption from\-promisor\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Indicate that these objects are being fetched from a promisor\&. |
| .RE |
| .PP |
| \fIoption no\-dependents\fR {\fItrue\fR|\fIfalse\fR} |
| .RS 4 |
| Indicate that only the objects wanted need to be fetched, not their dependents\&. |
| .RE |
| .SH "SEE ALSO" |
| .sp |
| \fBgit-remote\fR(1) |
| .sp |
| \fBgit-remote-ext\fR(1) |
| .sp |
| \fBgit-remote-fd\fR(1) |
| .sp |
| \fBgit-remote-testgit\fR(1) |
| .sp |
| \fBgit-fast-import\fR(1) |
| .SH "GIT" |
| .sp |
| Part of the \fBgit\fR(1) suite |