diff --git a/RelNotes/2.53.0.adoc b/RelNotes/2.53.0.adoc
index 70c433867..c4dfeb1c2 100644
--- a/RelNotes/2.53.0.adoc
+++ b/RelNotes/2.53.0.adoc
@@ -13,6 +13,13 @@ UI, Workflows & Features
* "git blame" learns "--diff-algorithm=" option.
+ * "git repo info" learned "--all" option.
+
+ * Both "git apply" and "git diff" learn a new whitespace error class,
+ "incomplete-line".
+
+ * Add a new manual that describes the data model.
+
Performance, Internal Implementation, Development Support etc.
--------------------------------------------------------------
@@ -95,7 +102,11 @@ Fixes since v2.52
* Emulation code clean-up.
(merge 2367c6bcd6 gf/win32-pthread-cond-wait-err later to maint).
+ * Various issues detected by Asan have been corrected.
+ (merge a031b6181a jk/asan-bonanza later to maint).
+
* Other code cleanup, docfix, build fix, etc.
(merge 46207a54cc qj/doc-http-bad-want-response later to maint).
(merge df90eccd93 kh/doc-commit-extra-references later to maint).
(merge f18aa68861 rs/xmkstemp-simplify later to maint).
+ (merge fddba8f737 ja/doc-synopsis-style later to maint).
diff --git a/fetch-options.adoc b/fetch-options.adoc
index ad1e1f49b..fcba46ee9 100644
--- a/fetch-options.adoc
+++ b/fetch-options.adoc
@@ -1,41 +1,41 @@
---all::
---no-all::
+`--all`::
+`--no-all`::
Fetch all remotes, except for the ones that has the
`remote..skipFetchAll` configuration variable set.
This overrides the configuration variable `fetch.all`.
--a::
---append::
+`-a`::
+`--append`::
Append ref names and object names of fetched refs to the
existing contents of `.git/FETCH_HEAD`. Without this
option old data in `.git/FETCH_HEAD` will be overwritten.
---atomic::
+`--atomic`::
Use an atomic transaction to update local refs. Either all refs are
updated, or on error, no refs are updated.
---depth=::
+`--depth=`::
Limit fetching to the specified number of commits from the tip of
each remote branch history. If fetching to a 'shallow' repository
created by `git clone` with `--depth=` option (see
linkgit:git-clone[1]), deepen or shorten the history to the specified
number of commits. Tags for the deepened commits are not fetched.
---deepen=::
- Similar to --depth, except it specifies the number of commits
+`--deepen=`::
+ Similar to `--depth`, except it specifies the number of commits
from the current shallow boundary instead of from the tip of
each remote branch history.
---shallow-since=::
+`--shallow-since=`::
Deepen or shorten the history of a shallow repository to
- include all reachable commits after .
+ include all reachable commits after __.
---shallow-exclude=::
+`--shallow-exclude=`::
Deepen or shorten the history of a shallow repository to
exclude commits reachable from a specified remote branch or tag.
This option can be specified multiple times.
---unshallow::
+`--unshallow`::
If the source repository is complete, convert a shallow
repository to a complete one, removing all the limitations
imposed by shallow repositories.
@@ -43,13 +43,13 @@
If the source repository is shallow, fetch as much as possible so that
the current repository has the same history as the source repository.
---update-shallow::
+`--update-shallow`::
By default when fetching from a shallow repository,
`git fetch` refuses refs that require updating
- .git/shallow. This option updates .git/shallow and accepts such
+ `.git/shallow`. This option updates `.git/shallow` and accepts such
refs.
---negotiation-tip=::
+`--negotiation-tip=(|)`::
By default, Git will report, to the server, commits reachable
from all local refs to find common commits in an attempt to
reduce the size of the to-be-received packfile. If specified,
@@ -69,28 +69,28 @@ See also the `fetch.negotiationAlgorithm` and `push.negotiate`
configuration variables documented in linkgit:git-config[1], and the
`--negotiate-only` option below.
---negotiate-only::
+`--negotiate-only`::
Do not fetch anything from the server, and instead print the
- ancestors of the provided `--negotiation-tip=*` arguments,
+ ancestors of the provided `--negotiation-tip=` arguments,
which we have in common with the server.
+
-This is incompatible with `--recurse-submodules=[yes|on-demand]`.
+This is incompatible with `--recurse-submodules=(yes|on-demand)`.
Internally this is used to implement the `push.negotiate` option, see
linkgit:git-config[1].
---dry-run::
+`--dry-run`::
Show what would be done, without making any changes.
---porcelain::
+`--porcelain`::
Print the output to standard output in an easy-to-parse format for
scripts. See section OUTPUT in linkgit:git-fetch[1] for details.
+
-This is incompatible with `--recurse-submodules=[yes|on-demand]` and takes
+This is incompatible with `--recurse-submodules=(yes|on-demand)` and takes
precedence over the `fetch.output` config option.
ifndef::git-pull[]
---write-fetch-head::
---no-write-fetch-head::
+`--write-fetch-head`::
+`--no-write-fetch-head`::
Write the list of remote refs fetched in the `FETCH_HEAD`
file directly under `$GIT_DIR`. This is the default.
Passing `--no-write-fetch-head` from the command line tells
@@ -98,64 +98,65 @@ ifndef::git-pull[]
file is never written.
endif::git-pull[]
--f::
---force::
- When 'git fetch' is used with `:` refspec, it may
- refuse to update the local branch as discussed
+`-f`::
+`--force`::
ifdef::git-pull[]
- in the `` part of the linkgit:git-fetch[1]
- documentation.
+When `git fetch` is used with `:` refspec, it may
+refuse to update the local branch as discussed
+in the __ part of the linkgit:git-fetch[1]
+documentation.
endif::git-pull[]
ifndef::git-pull[]
- in the `` part below.
+When `git fetch` is used with `:` refspec, it may
+refuse to update the local branch as discussed in the __ part below.
endif::git-pull[]
- This option overrides that check.
+This option overrides that check.
--k::
---keep::
+`-k`::
+`--keep`::
Keep downloaded pack.
ifndef::git-pull[]
---multiple::
- Allow several and arguments to be
- specified. No s may be specified.
-
---auto-maintenance::
---no-auto-maintenance::
---auto-gc::
---no-auto-gc::
+`--multiple`::
+ Allow several __ and __ arguments to be
+ specified. No ____s may be specified.
+
+`--auto-maintenance`::
+`--no-auto-maintenance`::
+`--auto-gc`::
+`--no-auto-gc`::
Run `git maintenance run --auto` at the end to perform automatic
- repository maintenance if needed. (`--[no-]auto-gc` is a synonym.)
+ repository maintenance if needed.
This is enabled by default.
---write-commit-graph::
---no-write-commit-graph::
+`--write-commit-graph`::
+`--no-write-commit-graph`::
Write a commit-graph after fetching. This overrides the config
setting `fetch.writeCommitGraph`.
endif::git-pull[]
---prefetch::
+`--prefetch`::
Modify the configured refspec to place all refs into the
`refs/prefetch/` namespace. See the `prefetch` task in
linkgit:git-maintenance[1].
--p::
---prune::
+`-p`::
+`--prune`::
Before fetching, remove any remote-tracking references that no
longer exist on the remote. Tags are not subject to pruning
if they are fetched only because of the default tag
- auto-following or due to a --tags option. However, if tags
+ auto-following or due to a `--tags` option. However, if tags
are fetched due to an explicit refspec (either on the command
line or in the remote configuration, for example if the remote
- was cloned with the --mirror option), then they are also
+ was cloned with the `--mirror` option), then they are also
subject to pruning. Supplying `--prune-tags` is a shorthand for
providing the tag refspec.
ifndef::git-pull[]
+
See the PRUNING section below for more details.
--P::
---prune-tags::
+`-P`::
+`--prune-tags`::
Before fetching, remove any local tags that no longer exist on
the remote if `--prune` is enabled. This option should be used
more carefully, unlike `--prune` it will remove any local
@@ -168,17 +169,17 @@ See the PRUNING section below for more details.
endif::git-pull[]
ifndef::git-pull[]
--n::
+`-n`::
endif::git-pull[]
---no-tags::
+`--no-tags`::
By default, tags that point at objects that are downloaded
from the remote repository are fetched and stored locally.
This option disables this automatic tag following. The default
- behavior for a remote may be specified with the remote..tagOpt
+ behavior for a remote may be specified with the `remote..tagOpt`
setting. See linkgit:git-config[1].
ifndef::git-pull[]
---refetch::
+`--refetch`::
Instead of negotiating with the server to avoid transferring commits and
associated objects that are already present locally, this option fetches
all objects as a fresh clone would. Use this to reapply a partial clone
@@ -187,29 +188,29 @@ ifndef::git-pull[]
object database pack consolidation to remove any duplicate objects.
endif::git-pull[]
---refmap=::
+`--refmap=`::
When fetching refs listed on the command line, use the
specified refspec (can be given more than once) to map the
refs to remote-tracking branches, instead of the values of
- `remote.*.fetch` configuration variables for the remote
- repository. Providing an empty `` to the
+ `remote..fetch` configuration variables for the remote
+ repository. Providing an empty __ to the
`--refmap` option causes Git to ignore the configured
refspecs and rely entirely on the refspecs supplied as
command-line arguments. See section on "Configured Remote-tracking
Branches" for details.
--t::
---tags::
+`-t`::
+`--tags`::
Fetch all tags from the remote (i.e., fetch remote tags
`refs/tags/*` into local tags with the same name), in addition
to whatever else would otherwise be fetched. Using this
- option alone does not subject tags to pruning, even if --prune
+ option alone does not subject tags to pruning, even if `--prune`
is used (though tags may be pruned anyway if they are also the
destination of an explicit refspec; see `--prune`).
ifndef::git-pull[]
---recurse-submodules[=(yes|on-demand|no)]::
- This option controls if and under what conditions new commits of
+`--recurse-submodules[=(yes|on-demand|no)]`::
+ Control if and under what conditions new commits of
submodules should be fetched too. When recursing through submodules,
`git fetch` always attempts to fetch "changed" submodules, that is, a
submodule that has commits that are referenced by a newly fetched
@@ -219,19 +220,19 @@ ifndef::git-pull[]
adds a new submodule, that submodule cannot be fetched until it is
cloned e.g. by `git submodule update`.
+
-When set to 'on-demand', only changed submodules are fetched. When set
-to 'yes', all populated submodules are fetched and submodules that are
-both unpopulated and changed are fetched. When set to 'no', submodules
+When set to `on-demand`, only changed submodules are fetched. When set
+to `yes`, all populated submodules are fetched and submodules that are
+both unpopulated and changed are fetched. When set to `no`, submodules
are never fetched.
+
When unspecified, this uses the value of `fetch.recurseSubmodules` if it
-is set (see linkgit:git-config[1]), defaulting to 'on-demand' if unset.
-When this option is used without any value, it defaults to 'yes'.
+is set (see linkgit:git-config[1]), defaulting to `on-demand` if unset.
+When this option is used without any value, it defaults to `yes`.
endif::git-pull[]
--j::
---jobs=::
- Number of parallel children to be used for all forms of fetching.
+`-j `::
+`--jobs=`::
+ Parallelize all forms of fetching up to __ jobs at a time.
+
If the `--multiple` option was specified, the different remotes will be fetched
in parallel. If multiple submodules are fetched, they will be fetched in
@@ -242,12 +243,12 @@ Typically, parallel recursive and multi-remote fetches will be faster. By
default fetches are performed sequentially, not in parallel.
ifndef::git-pull[]
---no-recurse-submodules::
+`--no-recurse-submodules`::
Disable recursive fetching of submodules (this has the same effect as
using the `--recurse-submodules=no` option).
endif::git-pull[]
---set-upstream::
+`--set-upstream`::
If the remote is fetched successfully, add upstream
(tracking) reference, used by argument-less
linkgit:git-pull[1] and other commands. For more information,
@@ -255,57 +256,57 @@ endif::git-pull[]
linkgit:git-config[1].
ifndef::git-pull[]
---submodule-prefix=::
- Prepend to paths printed in informative messages
+`--submodule-prefix=`::
+ Prepend __ to paths printed in informative messages
such as "Fetching submodule foo". This option is used
internally when recursing over submodules.
---recurse-submodules-default=[yes|on-demand]::
+`--recurse-submodules-default=(yes|on-demand)`::
This option is used internally to temporarily provide a
- non-negative default value for the --recurse-submodules
+ non-negative default value for the `--recurse-submodules`
option. All other methods of configuring fetch's submodule
recursion (such as settings in linkgit:gitmodules[5] and
linkgit:git-config[1]) override this option, as does
- specifying --[no-]recurse-submodules directly.
+ specifying `--[no-]recurse-submodules` directly.
--u::
---update-head-ok::
- By default 'git fetch' refuses to update the head which
+`-u`::
+`--update-head-ok`::
+ By default `git fetch` refuses to update the head which
corresponds to the current branch. This flag disables the
- check. This is purely for the internal use for 'git pull'
- to communicate with 'git fetch', and unless you are
+ check. This is purely for the internal use for `git pull`
+ to communicate with `git fetch`, and unless you are
implementing your own Porcelain you are not supposed to
use it.
endif::git-pull[]
---upload-pack ::
+`--upload-pack `::
When given, and the repository to fetch from is handled
- by 'git fetch-pack', `--exec=` is passed to
+ by `git fetch-pack`, `--exec=` is passed to
the command to specify non-default path for the command
run on the other end.
ifndef::git-pull[]
--q::
---quiet::
- Pass --quiet to git-fetch-pack and silence any other internally
+`-q`::
+`--quiet`::
+ Pass `--quiet` to `git-fetch-pack` and silence any other internally
used git commands. Progress is not reported to the standard error
stream.
--v::
---verbose::
+`-v`::
+`--verbose`::
Be verbose.
endif::git-pull[]
---progress::
+`--progress`::
Progress status is reported on the standard error stream
- by default when it is attached to a terminal, unless -q
+ by default when it is attached to a terminal, unless `-q`
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.
--o
+
incomplete-line treats the last line of a file that is missing the
+newline at the end as an error (not enabled by default).
+
+
tabwidth=<n> tells how many character positions a tab occupies; this
is relevant for indent-with-non-tab and when Git fixes tab-in-indent
errors. The default tab width is 8. Allowed values are 1 to 63.
@@ -4758,39 +4762,39 @@
Variables
-
fetch.recurseSubmodules
+
fetch.recurseSubmodules
This option controls whether gitfetch (and the underlying fetch
in gitpull) will recursively fetch into populated submodules.
-This option can be set either to a boolean value or to on-demand.
+This option can be set either to a boolean value or to on-demand.
Setting it to a boolean changes the behavior of fetch and pull to
recurse unconditionally into submodules when set to true or to not
-recurse at all when set to false. When set to on-demand, fetch and
+recurse at all when set to false. When set to on-demand, fetch and
pull will only recurse into a populated submodule when its
superproject retrieves a commit that updates the submodule’s
reference.
-Defaults to on-demand, or to the value of submodule.recurse if set.
+Defaults to on-demand, or to the value of submodule.recurse if set.
-
fetch.fsckObjects
+
fetch.fsckObjects
If it is set to true, git-fetch-pack will check all fetched
objects. See transfer.fsckObjects for what’s
-checked. Defaults to false. If not set, the value of
+checked. Defaults to false. If not set, the value of
transfer.fsckObjects is used instead.
-
fetch.fsck.<msg-id>
+
fetch.fsck.<msg-id>
Acts like fsck.<msg-id>, but is used by
git-fetch-pack(1) instead of git-fsck(1). See
the fsck.<msg-id> documentation for details.
-
fetch.fsck.skipList
+
fetch.fsck.skipList
Acts like fsck.skipList, but is used by
git-fetch-pack(1) instead of git-fsck(1). See
the fsck.skipList documentation for details.
-
fetch.unpackLimit
+
fetch.unpackLimit
If the number of objects fetched over the Git native
transfer is below this
@@ -4802,13 +4806,13 @@
Variables
especially on slow filesystems. If not set, the value of
transfer.unpackLimit is used instead.
-
fetch.prune
+
fetch.prune
If true, fetch will automatically behave as if the --prune
option was given on the command line. See also remote.<name>.prune
and the PRUNING section of git-fetch(1).
-
fetch.pruneTags
+
fetch.pruneTags
If true, fetch will automatically behave as if the
refs/tags/*:refs/tags/* refspec was provided when pruning,
@@ -4817,46 +4821,46 @@
Variables
refs. See also remote.<name>.pruneTags and the PRUNING
section of git-fetch(1).
-
fetch.all
+
fetch.all
If true, fetch will attempt to update all available remotes.
This behavior can be overridden by passing --no-all or by
explicitly specifying one or more remote(s) to fetch from.
-Defaults to false.
+Defaults to false.
-
fetch.output
+
fetch.output
Control how ref update status is printed. Valid values are
full and compact. Default value is full. See the
OUTPUT section in git-fetch(1) for details.
-
fetch.negotiationAlgorithm
+
fetch.negotiationAlgorithm
Control how information about the commits in the local repository
is sent when negotiating the contents of the packfile to be sent by
-the server. Set to "consecutive" to use an algorithm that walks
-over consecutive commits checking each one. Set to "skipping" to
+the server. Set to consecutive to use an algorithm that walks
+over consecutive commits checking each one. Set to skipping to
use an algorithm that skips commits in an effort to converge
faster, but may result in a larger-than-necessary packfile; or set
-to "noop" to not send any information at all, which will almost
+to noop to not send any information at all, which will almost
certainly result in a larger-than-necessary packfile, but will skip
-the negotiation step. Set to "default" to override settings made
+the negotiation step. Set to default to override settings made
previously and use the default behaviour. The default is normally
-"consecutive", but if feature.experimental is true, then the
-default is "skipping". Unknown values will cause git fetch to
+consecutive, but if feature.experimental is true, then the
+default is skipping. Unknown values will cause gitfetch to
error out.
See also the --negotiate-only and --negotiation-tip options to
git-fetch(1).
-
fetch.showForcedUpdates
+
fetch.showForcedUpdates
-
Set to false to enable --no-show-forced-updates in
+
Set to false to enable --no-show-forced-updates in
git-fetch(1) and git-pull(1) commands.
-Defaults to true.
+Defaults to true.
-
fetch.parallel
+
fetch.parallel
Specifies the maximal number of fetch operations to be run in parallel
at a time (submodules, or remotes when the --multiple option of
@@ -4869,7 +4873,7 @@
Variables
config setting.
-
fetch.writeCommitGraph
+
fetch.writeCommitGraph
Set to true to write a commit-graph after every gitfetch command
that downloads a pack-file from a remote. Using the --split option,
@@ -4877,9 +4881,9 @@
Variables
the existing commit-graph file(s). Occasionally, these files will
merge and the write may take longer. Having an updated commit-graph
file helps performance of many Git commands, including gitmerge-base,
-gitpush-f, and gitlog--graph. Defaults to false.
+gitpush-f, and gitlog--graph. Defaults to false.
-
fetch.bundleURI
+
fetch.bundleURI
This value stores a URI for downloading Git object data from a bundle
URI before performing an incremental fetch from the origin Git server.
@@ -4893,10 +4897,10 @@
Variables
the new bundle URI.
-
fetch.bundleCreationToken
+
fetch.bundleCreationToken
When using fetch.bundleURI to fetch incrementally from a bundle
-list that uses the "creationToken" heuristic, this config value
+list that uses the "creationToken" heuristic, this config value
stores the maximum creationToken value of the downloaded bundles.
This value is used to prevent downloading bundles in the future
if the advertised creationToken is not strictly larger than this
@@ -7947,19 +7951,19 @@
Variables
The default merge strategy to use when pulling a single branch.
-
push.autoSetupRemote
+
push.autoSetupRemote
-
If set to "true" assume --set-upstream on default push when no
+
If set to true assume --set-upstream on default push when no
upstream tracking exists for the current branch; this option
-takes effect with push.default options simple, upstream,
-and current. It is useful if by default you want new branches
+takes effect with push.default options simple, upstream,
+and current. It is useful if by default you want new branches
to be pushed to the default remote (like the behavior of
-push.default=current) and you also want the upstream tracking
+push.default=current) and you also want the upstream tracking
to be set. Workflows most likely to benefit from this option are
-simple central workflows where all branches are expected to
+simple central workflows where all branches are expected to
have the same name on the remote.
-
push.default
+
push.default
Defines the action gitpush should take if no refspec is
given (whether from the command-line, config, or elsewhere).
@@ -7969,30 +7973,35 @@
Variables
upstream is probably what you want. Possible values are:
-
-
-
-
nothing - do not push anything (error out) unless a refspec is
+
+
+
nothing
+
+
do not push anything (error out) unless a refspec is
given. This is primarily meant for people who want to
avoid mistakes by always being explicit.
-
-
-
current - push the current branch to update a branch with the same
+
+
current
+
+
push the current branch to update a branch with the same
name on the receiving end. Works in both central and non-central
workflows.
-
-
-
upstream - push the current branch back to the branch whose
+
+
upstream
+
+
push the current branch back to the branch whose
changes are usually integrated into the current branch (which is
called @{upstream}). This mode only makes sense if you are
pushing to the same repository you would normally pull from
(i.e. central workflow).
-
-
-
tracking - This is a deprecated synonym for upstream.
-
-
-
simple - push the current branch with the same name on the remote.
+
+
tracking
+
+
this is a deprecated synonym for upstream.
+
+
simple
+
+
push the current branch with the same name on the remote.
If you are working on a centralized workflow (pushing to the same repository you
pull from, which is typically origin), then you need to configure an upstream
@@ -8002,18 +8011,19 @@
Variables
This mode is the default since Git 2.0, and is the safest option suited for
beginners.
-
-
-
matching - push all branches having the same name on both ends.
+
+
matching
+
+
push all branches having the same name on both ends.
This makes the repository you are pushing to remember the set of
-branches that will be pushed out (e.g. if you always push maint
-and master there and no other branches, the repository you push
-to will have these two branches, and your local maint and
-master will be pushed there).
+branches that will be pushed out (e.g. if you always push maint
+and master there and no other branches, the repository you push
+to will have these two branches, and your local maint and
+master will be pushed there).
To use this mode effectively, you have to make sure all the
branches you would push out are ready to be pushed out before
-running git push, as the whole point of this mode is to allow you
+running gitpush, as the whole point of this mode is to allow you
to push all of the branches in one go. If you usually finish work
on only one branch and push out the result, while other branches are
unfinished, this mode is not for you. Also this mode is not
@@ -8025,33 +8035,33 @@
Variables
This used to be the default, but not since Git 2.0 (simple is the
new default).
-
-
+
+
-
push.followTags
+
push.followTags
If set to true, enable --follow-tags option by default. You
may override this configuration at time of push by specifying
--no-follow-tags.
-
push.gpgSign
+
push.gpgSign
-
May be set to a boolean value, or the string if-asked. A true
+
May be set to a boolean value, or the string if-asked. A true
value causes all pushes to be GPG signed, as if --signed is
-passed to git-push(1). The string if-asked causes
+passed to git-push(1). The string if-asked causes
pushes to be signed if the server supports it, as if
---signed=if-asked is passed to git push. A false value may
+--signed=if-asked is passed to gitpush. A false value may
override a value from a lower-priority config file. An explicit
command-line flag always overrides this config option.
-
push.pushOption
+
push.pushOption
When no --push-option=<option> argument is given from the
-command line, gitpush behaves as if each <value> of
-this variable is given as --push-option=<value>.
+command line, gitpush behaves as if each <option> of
+this variable is given as --push-option=<option>.
This is a multi-valued variable, and an empty value can be used in a
higher priority configuration file (e.g. .git/config in a
@@ -8077,33 +8087,33 @@
Variables
-
push.recurseSubmodules
+
push.recurseSubmodules
-
May be "check", "on-demand", "only", or "no", with the same behavior
-as that of "push --recurse-submodules".
-If not set, no is used by default, unless submodule.recurse is
-set (in which case a true value means on-demand).
+
May be check, on-demand, only, or no, with the same behavior
+as that of push--recurse-submodules.
+If not set, no is used by default, unless submodule.recurse is
+set (in which case a true value means on-demand).
-
push.useForceIfIncludes
+
push.useForceIfIncludes
-
If set to "true", it is equivalent to specifying
+
If set to true, it is equivalent to specifying
--force-if-includes as an option to git-push(1)
in the command line. Adding --no-force-if-includes at the
time of push overrides this configuration setting.
-
push.negotiate
+
push.negotiate
-
If set to "true", attempt to reduce the size of the packfile
+
If set to true, attempt to reduce the size of the packfile
sent by rounds of negotiation in which the client and the
-server attempt to find commits in common. If "false", Git will
+server attempt to find commits in common. If false, Git will
rely solely on the server’s ref advertisement to find commits
in common.
-
push.useBitmaps
+
push.useBitmaps
-
If set to "false", disable use of bitmaps for "git push" even if
-pack.useBitmaps is "true", without preventing other git operations
-from using bitmaps. Default is true.
+
If set to false, disable use of bitmaps for gitpush even if
+pack.useBitmaps is true, without preventing other git operations
+from using bitmaps. Default is true.
rebase.backend
diff --git a/git-fetch.adoc b/git-fetch.adoc
index 16f5d9d69..db0354191 100644
--- a/git-fetch.adoc
+++ b/git-fetch.adoc
@@ -8,11 +8,11 @@ git-fetch - Download objects and refs from another repository
SYNOPSIS
--------
-[verse]
-'git fetch' [] [ [...]]
-'git fetch' []
-'git fetch' --multiple [] [( | )...]
-'git fetch' --all []
+[synopsis]
+git fetch [] [ [...]]
+git fetch []
+git fetch --multiple [] [(|)...]
+git fetch --all []
DESCRIPTION
@@ -20,19 +20,19 @@ DESCRIPTION
Fetch branches and/or tags (collectively, "refs") from one or more
other repositories, along with the objects necessary to complete their
histories. Remote-tracking branches are updated (see the description
-of below for ways to control this behavior).
+of __ below for ways to control this behavior).
By default, any tag that points into the histories being fetched is
also fetched; the effect is to fetch tags that
point at branches that you are interested in. This default behavior
-can be changed by using the --tags or --no-tags options or by
-configuring remote..tagOpt. By using a refspec that fetches tags
+can be changed by using the `--tags` or `--no-tags` options or by
+configuring `remote..tagOpt`. By using a refspec that fetches tags
explicitly, you can fetch tags that do not point into branches you
are interested in as well.
-'git fetch' can fetch from either a single named repository or URL,
-or from several repositories at once if is given and
-there is a remotes. entry in the configuration file.
+`git fetch` can fetch from either a single named repository or URL,
+or from several repositories at once if __ is given and
+there is a `remotes.` entry in the configuration file.
(See linkgit:git-config[1]).
When no remote is specified, by default the `origin` remote will be used,
@@ -48,15 +48,15 @@ include::fetch-options.adoc[]
include::pull-fetch-param.adoc[]
---stdin::
+`--stdin`::
Read refspecs, one per line, from stdin in addition to those provided
- as arguments. The "tag " format is not supported.
+ as arguments. The "tag __" format is not supported.
include::urls-remotes.adoc[]
-
-CONFIGURED REMOTE-TRACKING BRANCHES[[CRTB]]
--------------------------------------------
+[[CRTB]]
+CONFIGURED REMOTE-TRACKING BRANCHES
+-----------------------------------
You often interact with the same remote repository by
regularly and repeatedly fetching from it. In order to keep track
@@ -84,13 +84,13 @@ This configuration is used in two ways:
* When `git fetch` is run with explicit branches and/or tags
to fetch on the command line, e.g. `git fetch origin master`, the
- s given on the command line determine what are to be
+ _s_ given on the command line determine what are to be
fetched (e.g. `master` in the example,
which is a short-hand for `master:`, which in turn means
- "fetch the 'master' branch but I do not explicitly say what
+ "fetch the `master` branch but I do not explicitly say what
remote-tracking branch to update with it from the command line"),
and the example command will
- fetch _only_ the 'master' branch. The `remote..fetch`
+ fetch _only_ the `master` branch. The `remote..fetch`
values determine which
remote-tracking branch, if any, is updated. When used in this
way, the `remote..fetch` values do not have any
@@ -144,9 +144,9 @@ tracking branches that are deleted, but any local tag that doesn't
exist on the remote.
This might not be what you expect, i.e. you want to prune remote
-``, but also explicitly fetch tags from it, so when you fetch
+__, but also explicitly fetch tags from it, so when you fetch
from it you delete all your local tags, most of which may not have
-come from the `` remote in the first place.
+come from the __ remote in the first place.
So be careful when using this with a refspec like
`refs/tags/*:refs/tags/*`, or any other refspec which might map
@@ -213,11 +213,11 @@ of the form:
-------------------------------
-The status of up-to-date refs is shown only if the --verbose option is
+The status of up-to-date refs is shown only if the `--verbose` option is
used.
In compact output mode, specified with configuration variable
-fetch.output, if either entire `` or `` is found in the
+fetch.output, if either entire __ or __ is found in the
other string, it will be substituted with `*` in the other string. For
example, `master -> origin/master` becomes `master -> origin/*`.
@@ -303,7 +303,7 @@ include::config/fetch.adoc[]
BUGS
----
-Using --recurse-submodules can only fetch new commits in submodules that are
+Using `--recurse-submodules` can only fetch new commits in submodules that are
present locally e.g. in `$GIT_DIR/modules/`. If the upstream adds a new
submodule, that submodule cannot be fetched until it is cloned e.g. by `git
submodule update`. This is expected to be fixed in a future Git version.
diff --git a/git-fetch.html b/git-fetch.html
index c3ccc1025..0b5b51cc3 100644
--- a/git-fetch.html
+++ b/git-fetch.html
@@ -452,10 +452,10 @@
Fetch branches and/or tags (collectively, "refs") from one or more
other repositories, along with the objects necessary to complete their
histories. Remote-tracking branches are updated (see the description
-of <refspec> below for ways to control this behavior).
+of <refspec> below for ways to control this behavior).
By default, any tag that points into the histories being fetched is
also fetched; the effect is to fetch tags that
point at branches that you are interested in. This default behavior
-can be changed by using the --tags or --no-tags options or by
-configuring remote.<name>.tagOpt. By using a refspec that fetches tags
+can be changed by using the --tags or --no-tags options or by
+configuring remote.<name>.tagOpt. By using a refspec that fetches tags
explicitly, you can fetch tags that do not point into branches you
are interested in as well.
-
git fetch can fetch from either a single named repository or URL,
-or from several repositories at once if <group> is given and
-there is a remotes.<group> entry in the configuration file.
+
gitfetch can fetch from either a single named repository or URL,
+or from several repositories at once if <group> is given and
+there is a remotes.<group> entry in the configuration file.
(See git-config(1)).
@@ -499,26 +499,26 @@
OPTIONS
-
--all
-
--no-all
+
--all
+
--no-all
Fetch all remotes, except for the ones that has the
remote.<name>.skipFetchAll configuration variable set.
This overrides the configuration variable fetch.all.
-
-a
-
--append
+
-a
+
--append
Append ref names and object names of fetched refs to the
existing contents of .git/FETCH_HEAD. Without this
option old data in .git/FETCH_HEAD will be overwritten.
-
--atomic
+
--atomic
Use an atomic transaction to update local refs. Either all refs are
updated, or on error, no refs are updated.
-
--depth=<depth>
+
--depth=<depth>
Limit fetching to the specified number of commits from the tip of
each remote branch history. If fetching to a shallow repository
@@ -526,24 +526,24 @@
OPTIONS
git-clone(1)), deepen or shorten the history to the specified
number of commits. Tags for the deepened commits are not fetched.
-
--deepen=<depth>
+
--deepen=<depth>
-
Similar to --depth, except it specifies the number of commits
+
Similar to --depth, except it specifies the number of commits
from the current shallow boundary instead of from the tip of
each remote branch history.
-
--shallow-since=<date>
+
--shallow-since=<date>
Deepen or shorten the history of a shallow repository to
-include all reachable commits after <date>.
+include all reachable commits after <date>.
-
--shallow-exclude=<ref>
+
--shallow-exclude=<ref>
Deepen or shorten the history of a shallow repository to
exclude commits reachable from a specified remote branch or tag.
This option can be specified multiple times.
-
--unshallow
+
--unshallow
If the source repository is complete, convert a shallow
repository to a complete one, removing all the limitations
@@ -553,14 +553,14 @@
OPTIONS
the current repository has the same history as the source repository.
-
--update-shallow
+
--update-shallow
By default when fetching from a shallow repository,
gitfetch refuses refs that require updating
-.git/shallow. This option updates .git/shallow and accepts such
+.git/shallow. This option updates .git/shallow and accepts such
refs.
-
--negotiation-tip=<commit|glob>
+
--negotiation-tip=(<commit>|<glob>)
By default, Git will report, to the server, commits reachable
from all local refs to find common commits in an attempt to
@@ -584,32 +584,32 @@
OPTIONS
--negotiate-only option below.
-
--negotiate-only
+
--negotiate-only
Do not fetch anything from the server, and instead print the
-ancestors of the provided --negotiation-tip=* arguments,
+ancestors of the provided --negotiation-tip= arguments,
which we have in common with the server.
-
This is incompatible with --recurse-submodules=[yes|on-demand].
+
This is incompatible with --recurse-submodules=(yes|on-demand).
Internally this is used to implement the push.negotiate option, see
git-config(1).
-
--dry-run
+
--dry-run
Show what would be done, without making any changes.
-
--porcelain
+
--porcelain
Print the output to standard output in an easy-to-parse format for
scripts. See section OUTPUT in git-fetch(1) for details.
-
This is incompatible with --recurse-submodules=[yes|on-demand] and takes
+
This is incompatible with --recurse-submodules=(yes|on-demand) and takes
precedence over the fetch.output config option.
-
--write-fetch-head
-
--no-write-fetch-head
+
--write-fetch-head
+
--no-write-fetch-head
Write the list of remote refs fetched in the FETCH_HEAD
file directly under $GIT_DIR. This is the default.
@@ -617,63 +617,62 @@
OPTIONS
Git not to write the file. Under --dry-run option, the
file is never written.
-
-f
-
--force
+
-f
+
--force
-
When git fetch is used with <src>:<dst> refspec, it may
-refuse to update the local branch as discussed
-in the <refspec> part below.
+
When gitfetch is used with <src>:<dst> refspec, it may
+refuse to update the local branch as discussed in the <refspec> part below.
This option overrides that check.
-
-k
-
--keep
+
-k
+
--keep
Keep downloaded pack.
-
--multiple
+
--multiple
-
Allow several <repository> and <group> arguments to be
-specified. No <refspec>s may be specified.
+
Allow several <repository> and <group> arguments to be
+specified. No <refspec>s may be specified.
-
--auto-maintenance
-
--no-auto-maintenance
-
--auto-gc
-
--no-auto-gc
+
--auto-maintenance
+
--no-auto-maintenance
+
--auto-gc
+
--no-auto-gc
Run gitmaintenancerun--auto at the end to perform automatic
-repository maintenance if needed. (--[no-]auto-gc is a synonym.)
+repository maintenance if needed.
This is enabled by default.
-
--write-commit-graph
-
--no-write-commit-graph
+
--write-commit-graph
+
--no-write-commit-graph
Write a commit-graph after fetching. This overrides the config
setting fetch.writeCommitGraph.
-
--prefetch
+
--prefetch
Modify the configured refspec to place all refs into the
refs/prefetch/ namespace. See the prefetch task in
git-maintenance(1).
-
-p
-
--prune
+
-p
+
--prune
Before fetching, remove any remote-tracking references that no
longer exist on the remote. Tags are not subject to pruning
if they are fetched only because of the default tag
-auto-following or due to a --tags option. However, if tags
+auto-following or due to a --tags option. However, if tags
are fetched due to an explicit refspec (either on the command
line or in the remote configuration, for example if the remote
-was cloned with the --mirror option), then they are also
+was cloned with the --mirror option), then they are also
subject to pruning. Supplying --prune-tags is a shorthand for
providing the tag refspec.
See the PRUNING section below for more details.
-
-P
-
--prune-tags
+
-P
+
--prune-tags
Before fetching, remove any local tags that no longer exist on
the remote if --prune is enabled. This option should be used
@@ -685,16 +684,16 @@
OPTIONS
See the PRUNING section below for more details.
-
-n
-
--no-tags
+
-n
+
--no-tags
By default, tags that point at objects that are downloaded
from the remote repository are fetched and stored locally.
This option disables this automatic tag following. The default
-behavior for a remote may be specified with the remote.<name>.tagOpt
+behavior for a remote may be specified with the remote.<name>.tagOpt
setting. See git-config(1).
-
--refetch
+
--refetch
Instead of negotiating with the server to avoid transferring commits and
associated objects that are already present locally, this option fetches
@@ -703,31 +702,31 @@
OPTIONS
definition has changed. Automatic post-fetch maintenance will perform
object database pack consolidation to remove any duplicate objects.
-
--refmap=<refspec>
+
--refmap=<refspec>
When fetching refs listed on the command line, use the
specified refspec (can be given more than once) to map the
refs to remote-tracking branches, instead of the values of
-remote.*.fetch configuration variables for the remote
+remote.<name>.fetch configuration variables for the remote
repository. Providing an empty <refspec> to the
--refmap option causes Git to ignore the configured
refspecs and rely entirely on the refspecs supplied as
command-line arguments. See section on "Configured Remote-tracking
Branches" for details.
-
-t
-
--tags
+
-t
+
--tags
Fetch all tags from the remote (i.e., fetch remote tags
refs/tags/* into local tags with the same name), in addition
to whatever else would otherwise be fetched. Using this
-option alone does not subject tags to pruning, even if --prune
+option alone does not subject tags to pruning, even if --prune
is used (though tags may be pruned anyway if they are also the
destination of an explicit refspec; see --prune).
-
--recurse-submodules[=(yes|on-demand|no)]
+
--recurse-submodules[=(yes|on-demand|no)]
-
This option controls if and under what conditions new commits of
+
Control if and under what conditions new commits of
submodules should be fetched too. When recursing through submodules,
gitfetch always attempts to fetch "changed" submodules, that is, a
submodule that has commits that are referenced by a newly fetched
@@ -737,21 +736,21 @@
OPTIONS
adds a new submodule, that submodule cannot be fetched until it is
cloned e.g. by gitsubmoduleupdate.
-
When set to on-demand, only changed submodules are fetched. When set
-to yes, all populated submodules are fetched and submodules that are
-both unpopulated and changed are fetched. When set to no, submodules
+
When set to on-demand, only changed submodules are fetched. When set
+to yes, all populated submodules are fetched and submodules that are
+both unpopulated and changed are fetched. When set to no, submodules
are never fetched.
When unspecified, this uses the value of fetch.recurseSubmodules if it
-is set (see git-config(1)), defaulting to on-demand if unset.
-When this option is used without any value, it defaults to yes.
+is set (see git-config(1)), defaulting to on-demand if unset.
+When this option is used without any value, it defaults to yes.
-
-j
-
--jobs=<n>
+
-j<n>
+
--jobs=<n>
-
Number of parallel children to be used for all forms of fetching.
+
Parallelize all forms of fetching up to <n> jobs at a time.
If the --multiple option was specified, the different remotes will be fetched
in parallel. If multiple submodules are fetched, they will be fetched in
@@ -763,12 +762,12 @@
OPTIONS
default fetches are performed sequentially, not in parallel.
-
--no-recurse-submodules
+
--no-recurse-submodules
Disable recursive fetching of submodules (this has the same effect as
using the --recurse-submodules=no option).
-
--set-upstream
+
--set-upstream
If the remote is fetched successfully, add upstream
(tracking) reference, used by argument-less
@@ -776,62 +775,62 @@
OPTIONS
see branch.<name>.merge and branch.<name>.remote in
git-config(1).
-
--submodule-prefix=<path>
+
--submodule-prefix=<path>
-
Prepend <path> to paths printed in informative messages
+
Prepend <path> to paths printed in informative messages
such as "Fetching submodule foo". This option is used
internally when recursing over submodules.
-
--recurse-submodules-default=[yes|on-demand]
+
--recurse-submodules-default=(yes|on-demand)
This option is used internally to temporarily provide a
-non-negative default value for the --recurse-submodules
+non-negative default value for the --recurse-submodules
option. All other methods of configuring fetch’s submodule
recursion (such as settings in gitmodules(5) and
git-config(1)) override this option, as does
-specifying --[no-]recurse-submodules directly.
+specifying --[no-]recurse-submodules directly.
-
-u
-
--update-head-ok
+
-u
+
--update-head-ok
-
By default git fetch refuses to update the head which
+
By default gitfetch refuses to update the head which
corresponds to the current branch. This flag disables the
-check. This is purely for the internal use for git pull
-to communicate with git fetch, and unless you are
+check. This is purely for the internal use for gitpull
+to communicate with gitfetch, and unless you are
implementing your own Porcelain you are not supposed to
use it.
-
--upload-pack <upload-pack>
+
--upload-pack<upload-pack>
When given, and the repository to fetch from is handled
-by git fetch-pack, --exec=<upload-pack> is passed to
+by gitfetch-pack, --exec=<upload-pack> is passed to
the command to specify non-default path for the command
run on the other end.
-
-q
-
--quiet
+
-q
+
--quiet
-
Pass --quiet to git-fetch-pack and silence any other internally
+
Pass --quiet to git-fetch-pack and silence any other internally
used git commands. Progress is not reported to the standard error
stream.
-
-v
-
--verbose
+
-v
+
--verbose
Be verbose.
-
--progress
+
--progress
Progress status is reported on the standard error stream
-by default when it is attached to a terminal, unless -q
+by default when it is attached to a terminal, unless -q
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.
-
-o <option>
-
--server-option=<option>
+
-o<option>
+
--server-option=<option>
Transmit the given string to the server when communicating using
-protocol version 2. The given string must not contain a NUL or LF
+protocol version 2. The given string must not contain a NUL or LF
character. The server’s handling of server options, including
unknown ones, is server-specific.
When multiple --server-option=<option> are given, they are all
@@ -840,68 +839,68 @@
OPTIONS
the values of configuration variable remote.<name>.serverOption
are used instead.
-
--show-forced-updates
+
--show-forced-updates
By default, git checks if a branch is force-updated during
-fetch. This can be disabled through fetch.showForcedUpdates, but
-the --show-forced-updates option guarantees this check occurs.
+fetch. This can be disabled through fetch.showForcedUpdates, but
+the --show-forced-updates option guarantees this check occurs.
See git-config(1).
-
--no-show-forced-updates
+
--no-show-forced-updates
By default, git checks if a branch is force-updated during
-fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
+fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
to false to skip this check for performance reasons. If used during
-git-pull the --ff-only option will still check for forced updates
+git-pull the --ff-only option will still check for forced updates
before attempting a fast-forward update. See git-config(1).
-
-4
-
--ipv4
+
-4
+
--ipv4
Use IPv4 addresses only, ignoring IPv6 addresses.
-
-6
-
--ipv6
+
-6
+
--ipv6
Use IPv6 addresses only, ignoring IPv4 addresses.
-
<repository>
+
<repository>
The "remote" repository that is the source of a fetch
or pull operation. This parameter can be either a URL
(see the section GIT URLS below) or the name
of a remote (see the section REMOTES below).
-
<group>
+
<group>
A name referring to a list of repositories as the value
-of remotes.<group> in the configuration file.
+of remotes.<group> in the configuration file.
(See git-config(1)).
-
<refspec>
+
<refspec>
Specifies which refs to fetch and which local refs to update.
-When no <refspec>s appear on the command line, the refs to fetch
+When no <refspec>s appear on the command line, the refs to fetch
are read from remote.<repository>.fetch variables instead
(see CONFIGURED REMOTE-TRACKING BRANCHES below).
-
The format of a <refspec> parameter is an optional plus
-+, followed by the source <src>, followed
-by a colon :, followed by the destination <dst>.
-The colon can be omitted when <dst> is empty. <src> is
+
The format of a <refspec> parameter is an optional plus
++, followed by the source <src>, followed
+by a colon :, followed by the destination <dst>.
+The colon can be omitted when <dst> is empty. <src> is
typically a ref, or a glob pattern with a single * that is used
to match a set of refs, but it can also be a fully spelled hex object
name.
-
A <refspec> may contain a * in its <src> to indicate a simple pattern
+
A <refspec> may contain a * in its <src> to indicate a simple pattern
match. Such a refspec functions like a glob that matches any ref with the
-pattern. A pattern <refspec> must have one and only one * in both the <src> and
-<dst>. It will map refs to the destination by replacing the * with the
+pattern. A pattern <refspec> must have one and only one * in both the <src> and
+<dst>. It will map refs to the destination by replacing the * with the
contents matched from the source.
@@ -912,7 +911,7 @@
OPTIONS
not match any negative refspec. Negative refspecs can be useful to restrict
the scope of a pattern refspec so that it will not include specific refs.
Negative refspecs can themselves be pattern refspecs. However, they may only
-contain a <src> and do not specify a <dst>. Fully spelled out hex object
+contain a <src> and do not specify a <dst>. Fully spelled out hex object
names are also not supported.
@@ -920,8 +919,8 @@
OPTIONS
it requests fetching everything up to the given tag.
-
The remote ref that matches <src>
-is fetched, and if <dst> is not an empty string, an attempt
+
The remote ref that matches <src>
+is fetched, and if <dst> is not an empty string, an attempt
is made to update the local ref that matches it.
@@ -930,7 +929,7 @@
OPTIONS
whether the update is considered to be a fast-forward. Generally, the
same rules apply for fetching as when pushing, see the <refspec>...
section of git-push(1) for what those are. Exceptions to those
-rules particular to git fetch are noted below.
+rules particular to gitfetch are noted below.
Until Git version 2.20, and unlike when pushing with
@@ -983,10 +982,10 @@
OPTIONS
-
--stdin
+
--stdin
Read refspecs, one per line, from stdin in addition to those provided
-as arguments. The "tag <name>" format is not supported.
+as arguments. The "tag <name>" format is not supported.
@@ -1220,8 +1219,8 @@
Named file in $GIT_DIR/remotes
-
Push: lines are used by git push and
-Pull: lines are used by git pull and git fetch.
+
Push: lines are used by gitpush and
+Pull: lines are used by gitpull and gitfetch.
Multiple Push: and Pull: lines may
be specified for additional branch mappings.
@@ -1296,7 +1295,7 @@
UPSTREAM BRANCHES
-
The upstream is stored in .git/config, in the "remote" and "merge"
+
The upstream is stored in .git/config, in the "remote" and "merge"
fields. For example, if main's upstream is origin/main:
@@ -1345,7 +1344,7 @@
UPSTREAM BRANCHES
-
CONFIGURED REMOTE-TRACKING BRANCHES
+
CONFIGURED REMOTE-TRACKING BRANCHES
You often interact with the same remote repository by
@@ -1381,13 +1380,13 @@
CONFIGURED REMOTE-TRACKING BRANCHE
When gitfetch is run with explicit branches and/or tags
to fetch on the command line, e.g. gitfetchoriginmaster, the
-<refspec>s given on the command line determine what are to be
+<refspec>s given on the command line determine what are to be
fetched (e.g. master in the example,
which is a short-hand for master:, which in turn means
-"fetch the master branch but I do not explicitly say what
+"fetch the master branch but I do not explicitly say what
remote-tracking branch to update with it from the command line"),
and the example command will
-fetch only the master branch. The remote.<repository>.fetch
+fetch only the master branch. The remote.<repository>.fetch
values determine which
remote-tracking branch, if any, is updated. When used in this
way, the remote.<repository>.fetch values do not have any
@@ -1539,7 +1538,7 @@
OUTPUT
-
The status of up-to-date refs is shown only if the --verbose option is
+
The status of up-to-date refs is shown only if the --verbose option is
used.
@@ -1723,39 +1722,39 @@
CONFIGURATION
-
fetch.recurseSubmodules
+
fetch.recurseSubmodules
This option controls whether gitfetch (and the underlying fetch
in gitpull) will recursively fetch into populated submodules.
-This option can be set either to a boolean value or to on-demand.
+This option can be set either to a boolean value or to on-demand.
Setting it to a boolean changes the behavior of fetch and pull to
recurse unconditionally into submodules when set to true or to not
-recurse at all when set to false. When set to on-demand, fetch and
+recurse at all when set to false. When set to on-demand, fetch and
pull will only recurse into a populated submodule when its
superproject retrieves a commit that updates the submodule’s
reference.
-Defaults to on-demand, or to the value of submodule.recurse if set.
+Defaults to on-demand, or to the value of submodule.recurse if set.
-
fetch.fsckObjects
+
fetch.fsckObjects
If it is set to true, git-fetch-pack will check all fetched
objects. See transfer.fsckObjects for what’s
-checked. Defaults to false. If not set, the value of
+checked. Defaults to false. If not set, the value of
transfer.fsckObjects is used instead.
-
fetch.fsck.<msg-id>
+
fetch.fsck.<msg-id>
Acts like fsck.<msg-id>, but is used by
git-fetch-pack(1) instead of git-fsck(1). See
the fsck.<msg-id> documentation for details.
-
fetch.fsck.skipList
+
fetch.fsck.skipList
Acts like fsck.skipList, but is used by
git-fetch-pack(1) instead of git-fsck(1). See
the fsck.skipList documentation for details.
-
fetch.unpackLimit
+
fetch.unpackLimit
If the number of objects fetched over the Git native
transfer is below this
@@ -1767,13 +1766,13 @@
CONFIGURATION
especially on slow filesystems. If not set, the value of
transfer.unpackLimit is used instead.
-
fetch.prune
+
fetch.prune
If true, fetch will automatically behave as if the --prune
option was given on the command line. See also remote.<name>.prune
and the PRUNING section of git-fetch(1).
-
fetch.pruneTags
+
fetch.pruneTags
If true, fetch will automatically behave as if the
refs/tags/*:refs/tags/* refspec was provided when pruning,
@@ -1782,46 +1781,46 @@
CONFIGURATION
refs. See also remote.<name>.pruneTags and the PRUNING
section of git-fetch(1).
-
fetch.all
+
fetch.all
If true, fetch will attempt to update all available remotes.
This behavior can be overridden by passing --no-all or by
explicitly specifying one or more remote(s) to fetch from.
-Defaults to false.
+Defaults to false.
-
fetch.output
+
fetch.output
Control how ref update status is printed. Valid values are
full and compact. Default value is full. See the
OUTPUT section in git-fetch(1) for details.
-
fetch.negotiationAlgorithm
+
fetch.negotiationAlgorithm
Control how information about the commits in the local repository
is sent when negotiating the contents of the packfile to be sent by
-the server. Set to "consecutive" to use an algorithm that walks
-over consecutive commits checking each one. Set to "skipping" to
+the server. Set to consecutive to use an algorithm that walks
+over consecutive commits checking each one. Set to skipping to
use an algorithm that skips commits in an effort to converge
faster, but may result in a larger-than-necessary packfile; or set
-to "noop" to not send any information at all, which will almost
+to noop to not send any information at all, which will almost
certainly result in a larger-than-necessary packfile, but will skip
-the negotiation step. Set to "default" to override settings made
+the negotiation step. Set to default to override settings made
previously and use the default behaviour. The default is normally
-"consecutive", but if feature.experimental is true, then the
-default is "skipping". Unknown values will cause git fetch to
+consecutive, but if feature.experimental is true, then the
+default is skipping. Unknown values will cause gitfetch to
error out.
See also the --negotiate-only and --negotiation-tip options to
git-fetch(1).
-
fetch.showForcedUpdates
+
fetch.showForcedUpdates
-
Set to false to enable --no-show-forced-updates in
+
Set to false to enable --no-show-forced-updates in
git-fetch(1) and git-pull(1) commands.
-Defaults to true.
+Defaults to true.
-
fetch.parallel
+
fetch.parallel
Specifies the maximal number of fetch operations to be run in parallel
at a time (submodules, or remotes when the --multiple option of
@@ -1834,7 +1833,7 @@
CONFIGURATION
config setting.
-
fetch.writeCommitGraph
+
fetch.writeCommitGraph
Set to true to write a commit-graph after every gitfetch command
that downloads a pack-file from a remote. Using the --split option,
@@ -1842,9 +1841,9 @@
CONFIGURATION
the existing commit-graph file(s). Occasionally, these files will
merge and the write may take longer. Having an updated commit-graph
file helps performance of many Git commands, including gitmerge-base,
-gitpush-f, and gitlog--graph. Defaults to false.
+gitpush-f, and gitlog--graph. Defaults to false.
-
fetch.bundleURI
+
fetch.bundleURI
This value stores a URI for downloading Git object data from a bundle
URI before performing an incremental fetch from the origin Git server.
@@ -1858,10 +1857,10 @@
CONFIGURATION
the new bundle URI.
-
fetch.bundleCreationToken
+
fetch.bundleCreationToken
When using fetch.bundleURI to fetch incrementally from a bundle
-list that uses the "creationToken" heuristic, this config value
+list that uses the "creationToken" heuristic, this config value
stores the maximum creationToken value of the downloaded bundles.
This value is used to prevent downloading bundles in the future
if the advertised creationToken is not strictly larger than this
@@ -1880,7 +1879,7 @@
CONFIGURATION
BUGS
-
Using --recurse-submodules can only fetch new commits in submodules that are
+
Using --recurse-submodules can only fetch new commits in submodules that are
present locally e.g. in $GIT_DIR/modules/. If the upstream adds a new
submodule, that submodule cannot be fetched until it is cloned e.g. by gitsubmoduleupdate. This is expected to be fixed in a future Git version.