diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2018-06-27 09:24:34 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-06-27 10:27:05 -0700 |
commit | 2bd0365f374558ca053412966b51fe01885ea3b5 (patch) | |
tree | 2772d51cfa1a2524630a6abac73dcfcf9e4eee3b /commit-graph.c | |
parent | d9b9f8a6fd146ee1069e1cc4cf16eba76bdc1e08 (diff) | |
download | git-2bd0365f374558ca053412966b51fe01885ea3b5.tar.gz |
commit-graph: verify required chunks are present
The commit-graph file requires the following three chunks:
* OID Fanout
* OID Lookup
* Commit Data
If any of these are missing, then the 'verify' subcommand should
report a failure. This includes the chunk IDs malformed or the
chunk count is truncated.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit-graph.c')
-rw-r--r-- | commit-graph.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/commit-graph.c b/commit-graph.c index 488216a736..26328c3b74 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -848,5 +848,14 @@ int verify_commit_graph(struct repository *r, struct commit_graph *g) return 1; } + verify_commit_graph_error = 0; + + if (!g->chunk_oid_fanout) + graph_report("commit-graph is missing the OID Fanout chunk"); + if (!g->chunk_oid_lookup) + graph_report("commit-graph is missing the OID Lookup chunk"); + if (!g->chunk_commit_data) + graph_report("commit-graph is missing the Commit Data chunk"); + return verify_commit_graph_error; } |