| 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. |
| |
| 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. |