Merge branch 'jn/eject-fetch-write-commit-graph-out-of-experimental' into master
"fetch.writeCommitGraph" was enabled when "feature.experimental" is asked for, but it was found to be a bit too risky even for bold folks in its current shape. The configuration has been ejected, at least for now, from the "experimental" feature set. * jn/eject-fetch-write-commit-graph-out-of-experimental: experimental: default to fetch.writeCommitGraph=false
This commit is contained in:
@ -15,14 +15,6 @@ feature.experimental::
|
|||||||
* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
|
* `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
|
||||||
skipping more commits at a time, reducing the number of round trips.
|
skipping more commits at a time, reducing the number of round trips.
|
||||||
+
|
+
|
||||||
* `fetch.writeCommitGraph=true` writes a commit-graph after every `git fetch`
|
|
||||||
command that downloads a pack-file from a remote. Using the `--split` option,
|
|
||||||
most executions will create a very small commit-graph file on top of 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 `git merge-base`, `git push -f`, and
|
|
||||||
`git log --graph`.
|
|
||||||
+
|
|
||||||
* `protocol.version=2` speeds up fetches from repositories with many refs by
|
* `protocol.version=2` speeds up fetches from repositories with many refs by
|
||||||
allowing the client to specify which refs to list before the server lists
|
allowing the client to specify which refs to list before the server lists
|
||||||
them.
|
them.
|
||||||
|
@ -90,5 +90,4 @@ fetch.writeCommitGraph::
|
|||||||
the existing commit-graph file(s). Occasionally, these files will
|
the existing commit-graph file(s). Occasionally, these files will
|
||||||
merge and the write may take longer. Having an updated commit-graph
|
merge and the write may take longer. Having an updated commit-graph
|
||||||
file helps performance of many Git commands, including `git merge-base`,
|
file helps performance of many Git commands, including `git merge-base`,
|
||||||
`git push -f`, and `git log --graph`. Defaults to false, unless
|
`git push -f`, and `git log --graph`. Defaults to false.
|
||||||
`feature.experimental` is true.
|
|
||||||
|
@ -51,14 +51,14 @@ void prepare_repo_settings(struct repository *r)
|
|||||||
UPDATE_DEFAULT_BOOL(r->settings.index_version, 4);
|
UPDATE_DEFAULT_BOOL(r->settings.index_version, 4);
|
||||||
UPDATE_DEFAULT_BOOL(r->settings.core_untracked_cache, UNTRACKED_CACHE_WRITE);
|
UPDATE_DEFAULT_BOOL(r->settings.core_untracked_cache, UNTRACKED_CACHE_WRITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!repo_config_get_bool(r, "fetch.writecommitgraph", &value))
|
if (!repo_config_get_bool(r, "fetch.writecommitgraph", &value))
|
||||||
r->settings.fetch_write_commit_graph = value;
|
r->settings.fetch_write_commit_graph = value;
|
||||||
if (!repo_config_get_bool(r, "feature.experimental", &value) && value) {
|
|
||||||
UPDATE_DEFAULT_BOOL(r->settings.fetch_negotiation_algorithm, FETCH_NEGOTIATION_SKIPPING);
|
|
||||||
UPDATE_DEFAULT_BOOL(r->settings.fetch_write_commit_graph, 1);
|
|
||||||
}
|
|
||||||
UPDATE_DEFAULT_BOOL(r->settings.fetch_write_commit_graph, 0);
|
UPDATE_DEFAULT_BOOL(r->settings.fetch_write_commit_graph, 0);
|
||||||
|
|
||||||
|
if (!repo_config_get_bool(r, "feature.experimental", &value) && value)
|
||||||
|
UPDATE_DEFAULT_BOOL(r->settings.fetch_negotiation_algorithm, FETCH_NEGOTIATION_SKIPPING);
|
||||||
|
|
||||||
/* Hack for test programs like test-dump-untracked-cache */
|
/* Hack for test programs like test-dump-untracked-cache */
|
||||||
if (ignore_untracked_cache_config)
|
if (ignore_untracked_cache_config)
|
||||||
r->settings.core_untracked_cache = UNTRACKED_CACHE_KEEP;
|
r->settings.core_untracked_cache = UNTRACKED_CACHE_KEEP;
|
||||||
|
Reference in New Issue
Block a user