1 #include "test-tool.h" 2 #include "cache.h" 3 #include "commit-graph.h" 4 #include "repository.h" 5 #include "object-store.h" 6 cmd__read_graph(int argc,const char ** argv)7int cmd__read_graph(int argc, const char **argv) 8 { 9 struct commit_graph *graph = NULL; 10 struct object_directory *odb; 11 12 setup_git_directory(); 13 odb = the_repository->objects->odb; 14 15 prepare_repo_settings(the_repository); 16 17 graph = read_commit_graph_one(the_repository, odb); 18 if (!graph) 19 return 1; 20 21 printf("header: %08x %d %d %d %d\n", 22 ntohl(*(uint32_t*)graph->data), 23 *(unsigned char*)(graph->data + 4), 24 *(unsigned char*)(graph->data + 5), 25 *(unsigned char*)(graph->data + 6), 26 *(unsigned char*)(graph->data + 7)); 27 printf("num_commits: %u\n", graph->num_commits); 28 printf("chunks:"); 29 30 if (graph->chunk_oid_fanout) 31 printf(" oid_fanout"); 32 if (graph->chunk_oid_lookup) 33 printf(" oid_lookup"); 34 if (graph->chunk_commit_data) 35 printf(" commit_metadata"); 36 if (graph->chunk_generation_data) 37 printf(" generation_data"); 38 if (graph->chunk_generation_data_overflow) 39 printf(" generation_data_overflow"); 40 if (graph->chunk_extra_edges) 41 printf(" extra_edges"); 42 if (graph->chunk_bloom_indexes) 43 printf(" bloom_indexes"); 44 if (graph->chunk_bloom_data) 45 printf(" bloom_data"); 46 printf("\n"); 47 48 UNLEAK(graph); 49 50 return 0; 51 } 52