pack-objects: use reachability bitmap index when generating non-stdout pack
[gitweb.git] / Documentation / git-send-pack.txt
index 2a0de42a75d482a4bbafefd19991dad25b3e67f9..a831dd0288306d3355bb5607bc6f36229563c8f7 100644 (file)
@@ -9,7 +9,10 @@ git-send-pack - Push objects over Git protocol to another repository
 SYNOPSIS
 --------
 [verse]
-'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [<host>:]<directory> [<ref>...]
+'git send-pack' [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>]
+               [--verbose] [--thin] [--atomic]
+               [--[no-]signed|--sign=(true|false|if-asked)]
+               [<host>:]<directory> [<ref>...]
 
 DESCRIPTION
 -----------
@@ -29,7 +32,7 @@ OPTIONS
        a directory on the default $PATH.
 
 --exec=<git-receive-pack>::
-       Same as \--receive-pack=<git-receive-pack>.
+       Same as --receive-pack=<git-receive-pack>.
 
 --all::
        Instead of explicitly specifying which refs to update,
@@ -41,7 +44,7 @@ OPTIONS
        option, then the refs from stdin are processed after those
        on the command line.
 +
-If '--stateless-rpc' is specified together with this option then
+If `--stateless-rpc` is specified together with this option then
 the list of refs must be in packet format (pkt-line). Each ref must
 be in a separate packet, and the list must end with a flush packet.
 
@@ -62,6 +65,22 @@ be in a separate packet, and the list must end with a flush packet.
        Send a "thin" pack, which records objects in deltified form based
        on objects not included in the pack to reduce network traffic.
 
+--atomic::
+       Use an atomic transaction for updating the refs. If any of the refs
+       fails to update then the entire push will fail without changing any
+       refs.
+
+--[no-]signed::
+--sign=(true|false|if-asked)::
+       GPG-sign the push request to update refs on the receiving
+       side, to allow it to be checked by the hooks and/or be
+       logged.  If `false` or `--no-signed`, no signing will be
+       attempted.  If `true` or `--signed`, the push will fail if the
+       server does not support signed pushes.  If set to `if-asked`,
+       sign if and only if the server supports signed pushes.  The push
+       will also fail if the actual call to `gpg --sign` fails.  See
+       linkgit:git-receive-pack[1] for the details on the receiving end.
+
 <host>::
        A remote host to house the repository.  When this
        part is specified, 'git-receive-pack' is invoked via
@@ -80,11 +99,11 @@ Specifying the Refs
 There are three ways to specify which refs to update on the
 remote end.
 
-With '--all' flag, all refs that exist locally are transferred to
+With `--all` flag, all refs that exist locally are transferred to
 the remote side.  You cannot specify any '<ref>' if you use
 this flag.
 
-Without '--all' and without any '<ref>', the heads that exist
+Without `--all` and without any '<ref>', the heads that exist
 both on the local side and on the remote side are updated.
 
 When one or more '<ref>' are specified explicitly (whether on the
@@ -115,13 +134,13 @@ name. See linkgit:git-rev-parse[1].
      exist in the set of remote refs; the ref matched <src>
      locally is used as the name of the destination.
 
-Without '--force', the <src> ref is stored at the remote only if
+Without `--force`, the <src> ref is stored at the remote only if
 <dst> does not exist, or <dst> is a proper subset (i.e. an
 ancestor) of <src>.  This check, known as "fast-forward check",
 is performed in order to avoid accidentally overwriting the
 remote ref and lose other peoples' commits from there.
 
-With '--force', the fast-forward check is disabled for all refs.
+With `--force`, the fast-forward check is disabled for all refs.
 
 Optionally, a <ref> parameter can be prefixed with a plus '+' sign
 to disable the fast-forward check only on that ref.