blob: 055691a2518fe940a012830ae60e0ad93c458007 [file] [log] [blame]
git-retry(1)
=============
NAME
----
git-retry -
include::_git-retry_desc.helper.txt[]
SYNOPSIS
--------
[verse]
'git retry' [-v] [-c COUNT] [-d DELAY] [-e] -- _<git_subcommand>_
DESCRIPTION
-----------
`git retry` is a bootstrap that wraps a standard `git` command execution in
a fault-tolerant retry wrapper.
If a retry succeeds, the return code of the successful attempt is returned.
Otherwise, the return code of the last failed attempt is returned.
The wrapper is aware of `git`-specific failure conditions and will only consider
retrying if a given failure can be linked to such a condition.
OPTIONS
-------
<git_subcommand>::
The `git` command to retry. This should omit the actual `git` command (e.g.,
to retry `git clone`, use `git retry clone`).
-v, --verbose::
Increases logging verbosity. By default, no additional logging is generated
by the `git retry` command. This can be specified multiple times.
-c, --retry-count _count_::
Specify the number of retries that should be performed before giving up. The
default retry count is *5*.
-d, --delay _seconds_::
Floating-point value that specifies the amount of time (in seconds) to wait
after a failure. This can be zero to specify no delay. The default delay is
*3 seconds*.
-D, --delay-factor::
The exponential factor to apply to the delay. By default this is *2*.
For a given retry round *n*, the delay for that round will be
*(<delay-factor>^(n-1) * delay)*. If no delay is specified, this will have
no effect.
If the delay factor is *0*, the delay will increase linearly (for a given
retry round *n*, the delay will be *(n * delay)*).
(Note that a delay factor of *1* will result in a constant delay.)
EXIT STATUS
-----------
Upon success, `git retry` will exit with the successful exit code of *0*. On
failure, it will exit with the exit code of the last failed attempt.
include::_footer.txt[]
// vim: ft=asciidoc: