Thanks for all the feedback on v2. I've tried to make this round's
review a bit easier by splitting up the commits into smaller pieces.
Also, the test script now has less boilerplate and uses variables and
clear arithmetic to explain which bytes are being modified.
One other change worth mentioning: in "commit-graph: add '--reachable'
option" I put the ref-iteration into a new external
'write_commit_graph_reachable()' method inside commit-graph.c. This
makes the 'gc: automatically write commit-graph files' a simpler change.
Thanks,
-Stolee
Derrick Stolee (20):
commit-graph: UNLEAK before die()
commit-graph: fix GRAPH_MIN_SIZE
commit-graph: parse commit from chosen graph
commit: force commit to parse from object database
commit-graph: load a root tree from specific graph
commit-graph: add 'verify' subcommand
commit-graph: verify catches corrupt signature
commit-graph: verify required chunks are present
commit-graph: verify corrupt OID fanout and lookup
commit-graph: verify objects exist
commit-graph: verify root tree OIDs
commit-graph: verify parent list
commit-graph: verify generation number
commit-graph: verify commit date
commit-graph: test for corrupted octopus edge
commit-graph: verify contents match checksum
fsck: verify commit-graph
commit-graph: add '--reachable' option
gc: automatically write commit-graph files
commit-graph: update design document
Documentation/config.txt | 6 +
Documentation/git-commit-graph.txt | 14 +-
Documentation/git-fsck.txt | 3 +
Documentation/git-gc.txt | 4 +
Documentation/technical/commit-graph.txt | 22 ---
builtin/commit-graph.c | 59 +++++++-
builtin/fsck.c | 21 +++
builtin/gc.c | 6 +
commit-graph.c | 234 +++++++++++++++++++++++++++++--
commit-graph.h | 3 +
commit.c | 9 +-
commit.h | 1 +
t/t5318-commit-graph.sh | 196 ++++++++++++++++++++++++++
13 files changed, 539 insertions(+), 39 deletions(-)
base-commit: 34fdd433396ee0e3ef4de02eb2189f8226eafe4e
--
2.16.2.329.gfb62395de6