push: support signing pushes iff the server supports it
[gitweb.git] / Documentation / git-push.txt
index 35937744957982f105774846fb806d10f0024402..1495e3416c66331a9d70e4e298e346e099490ae4 100644 (file)
@@ -9,9 +9,10 @@ git-push - Update remote refs along with associated objects
 SYNOPSIS
 --------
 [verse]
-'git push' [--all | --mirror | --tags] [--follow-tags] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
+'git push' [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>]
           [--repo=<repository>] [-f | --force] [--prune] [-v | --verbose]
-          [-u | --set-upstream] [--signed]
+          [-u | --set-upstream]
+          [--[no-]signed|--sign=(true|false|if-asked)]
           [--force-with-lease[=<refname>[:<expect>]]]
           [--no-verify] [<repository> [<refspec>...]]
 
@@ -128,13 +129,25 @@ already exists on the remote side.
        Push all the refs that would be pushed without this option,
        and also push annotated tags in `refs/tags` that are missing
        from the remote but are pointing at commit-ish that are
-       reachable from the refs being pushed.
+       reachable from the refs being pushed.  This can also be specified
+       with configuration variable 'push.followTags'.  For more
+       information, see 'push.followTags' in linkgit:git-config[1].
 
---signed::
+--[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.  See linkgit:git-receive-pack[1] for the details
-       on the receiving end.
+       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.
+
+--[no-]atomic::
+       Use an atomic transaction on the remote side if available.
+       Either all refs are updated, or on error, no refs are updated.
+       If the server does not support atomic pushes the push will fail.
 
 --receive-pack=<git-receive-pack>::
 --exec=<git-receive-pack>::
@@ -257,8 +270,8 @@ origin +master` to force a push to the `master` branch). See the
 
 --[no-]verify::
        Toggle the pre-push hook (see linkgit:githooks[5]).  The
-       default is \--verify, giving the hook a chance to prevent the
-       push.  With \--no-verify, the hook is bypassed completely.
+       default is --verify, giving the hook a chance to prevent the
+       push.  With --no-verify, the hook is bypassed completely.
 
 
 include::urls-remotes.txt[]