summaryrefslogtreecommitdiff
path: root/repo-settings.c
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2019-08-13 18:37:45 (GMT)
committerJunio C Hamano <gitster@pobox.com>2019-08-13 20:33:55 (GMT)
commit31b1de6a09bad59cc0d88419925486afc7add277 (patch)
tree7bacab2da14ac9377910ad913ab4bcc02b6fa924 /repo-settings.c
parentb068d9a250246896cc56b9450049b2ed6451ccbb (diff)
downloadgit-31b1de6a09bad59cc0d88419925486afc7add277.zip
git-31b1de6a09bad59cc0d88419925486afc7add277.tar.gz
git-31b1de6a09bad59cc0d88419925486afc7add277.tar.bz2
commit-graph: turn on commit-graph by default
The commit-graph feature has seen a lot of activity in the past year or so since it was introduced. The feature is a critical performance enhancement for medium- to large-sized repos, and does not significantly hurt small repos. Change the defaults for core.commitGraph and gc.writeCommitGraph to true so users benefit from this feature by default. There are several places in the test suite where the environment variable GIT_TEST_COMMIT_GRAPH is disabled to avoid reading a commit-graph, if it exists. The config option overrides the environment, so swap these. Some GIT_TEST_COMMIT_GRAPH assignments remain, and those are to avoid writing a commit-graph when a new commit is created. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'repo-settings.c')
-rw-r--r--repo-settings.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/repo-settings.c b/repo-settings.c
index 309577f..d00b675 100644
--- a/repo-settings.c
+++ b/repo-settings.c
@@ -2,6 +2,8 @@
#include "config.h"
#include "repository.h"
+#define UPDATE_DEFAULT_BOOL(s,v) do { if (s == -1) { s = v; } } while(0)
+
void prepare_repo_settings(struct repository *r)
{
int value;
@@ -16,6 +18,8 @@ void prepare_repo_settings(struct repository *r)
r->settings.core_commit_graph = value;
if (!repo_config_get_bool(r, "gc.writecommitgraph", &value))
r->settings.gc_write_commit_graph = value;
+ UPDATE_DEFAULT_BOOL(r->settings.core_commit_graph, 1);
+ UPDATE_DEFAULT_BOOL(r->settings.gc_write_commit_graph, 1);
if (!repo_config_get_bool(r, "index.version", &value))
r->settings.index_version = value;