The commit-graph feature is starting to stabilize. Based on what is in
master right now, we have:
Git 2.18:
* Ability to write commit-graph (requires user interaction).
* Commit parsing is faster when commit-graph exists.
* Must have core.commitGraph true to use.
Git 2.19:
* Ability to write commit-graph on GC with gc.writeCommitGraph.
* Generation numbers written in commit-graph
* A few reachability algorithms make use of generation numbers.
(queued for) master:
* The test suite passes with GIT_TEST_COMMIT_GRAPH=1
* 'git commit-graph write' has progress indicators.
* The commit-graph is automatically disabled when grafts or replace-objects
exist.
There are some other things coming that are in review (like 'git log
--graph' speedups), but it is probably time to consider enabling the
commit-graph by default. This series does that.
For timing, I'm happy to leave this queued for a merge after the Git 2.20
release. There are enough things in master to justify not enabling this by
default until that goes out and more people use it.
PATCH 3/3 is rather simple, and is the obvious thing to do to achieve
enabling these config values by default.
PATCH 1/3 is a required change to make the test suite work with this change.
This change isn't needed with GIT_TEST_COMMIT_GRAPH=1 because the
commit-graph is up-to-date for these 'git gc' calls, so no progress is
output.
PATCH 2/3 is also a necessary evil, since we already had to disable
GIT_TEST_COMMIT_GRAPH for some tests, we now also need to turn off
core.commitGraph.
Thanks, -Stolee
Derrick Stolee (3):
t6501: use --quiet when testing gc stderr
t: explicitly turn off core.commitGraph as needed
commit-graph: Use commit-graph by default
Documentation/config.txt| 4 ++--
builtin/gc.c| 2 +-
commit-graph.c | 6 +++---
t/t0410-partial-clone.sh| 3 ++-
t/t5307-pack-missing-commit.sh | 3 ++-
t/t6011-rev-list-with-bad-commit.sh | 3 ++-
t/t6024-recursive-merge.sh | 3 ++-
t/t6501-freshen-objects.sh | 6 +++---
8 files changed, 17 insertions(+), 13 deletions(-)
base-commit: a4b8ab5363a32f283a61ef3a962853556d136c0e
Published-As:
https://github.com/gitgitgadget/git/releases/tags/pr-50%2Fderrickstolee%2Fcommit-graph-default-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git
pr-50/derrickstolee/commit-graph-default-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/50
--
gitgitgadget