mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
With the preceding commit we have announced the switch to the "reftable" format in Git 3.0 for newly created repositories. The format is being battle tested by GitLab and a couple of other developers, and except for a small handful of issues exposed early after it has been merged it has been rock solid. Regardless of that though the test user base is still comparatively small, which increases the risk that we miss critical bugs. Address this by enabling the reftable format when experimental features are enabled. This should increase the test user base by some margin and thus give us more input before making the format the default. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
48 lines
2.3 KiB
Plaintext
48 lines
2.3 KiB
Plaintext
feature.*::
|
|
The config settings that start with `feature.` modify the defaults of
|
|
a group of other config settings. These groups are created by the Git
|
|
developer community as recommended defaults and are subject to change.
|
|
In particular, new config options may be added with different defaults.
|
|
|
|
feature.experimental::
|
|
Enable config options that are new to Git, and are being considered for
|
|
future defaults. Config settings included here may be added or removed
|
|
with each release, including minor version updates. These settings may
|
|
have unintended interactions since they are so new. Please enable this
|
|
setting if you are interested in providing feedback on experimental
|
|
features. The new default values are:
|
|
+
|
|
* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
|
|
skipping more commits at a time, reducing the number of round trips.
|
|
+
|
|
* `pack.useBitmapBoundaryTraversal=true` may improve bitmap traversal times by
|
|
walking fewer objects.
|
|
+
|
|
* `pack.allowPackReuse=multi` may improve the time it takes to create a pack by
|
|
reusing objects from multiple packs instead of just one.
|
|
+
|
|
* `pack.usePathWalk` may speed up packfile creation and make the packfiles be
|
|
significantly smaller in the presence of certain filename collisions with Git's
|
|
default name-hash.
|
|
+
|
|
* `init.defaultRefFormat=reftable` causes newly initialized repositories to use
|
|
the reftable format for storing references. This new format solves issues with
|
|
case-insensitive filesystems, compresses better and performs significantly
|
|
better with many use cases. Refer to Documentation/technical/reftable.adoc for
|
|
more information on this new storage format.
|
|
|
|
feature.manyFiles::
|
|
Enable config options that optimize for repos with many files in the
|
|
working directory. With many files, commands such as `git status` and
|
|
`git checkout` may be slow and these new defaults improve performance:
|
|
+
|
|
* `index.skipHash=true` speeds up index writes by not computing a trailing
|
|
checksum. Note that this will cause Git versions earlier than 2.13.0 to
|
|
refuse to parse the index and Git versions earlier than 2.40.0 will report
|
|
a corrupted index during `git fsck`.
|
|
+
|
|
* `index.version=4` enables path-prefix compression in the index.
|
|
+
|
|
* `core.untrackedCache=true` enables the untracked cache. This setting assumes
|
|
that mtime is working on your machine.
|