Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The 'git commit-graph read' subcommand is used in test scripts to check that the commit-graph contents match the expected data. Mostly, this helps check the header information and the list of chunks. Users do not need this information, so move the functionality to a test helper. Reported-by: Bryan Turner <bturner@atlassian.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
- Loading branch information
1 parent
d9f6f3b
commit 4bd0593
Showing
8 changed files
with
58 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#include "test-tool.h" | ||
#include "cache.h" | ||
#include "commit-graph.h" | ||
#include "repository.h" | ||
#include "object-store.h" | ||
|
||
int cmd__read_graph(int argc, const char **argv) | ||
{ | ||
struct commit_graph *graph = NULL; | ||
char *graph_name; | ||
int open_ok; | ||
int fd; | ||
struct stat st; | ||
const char *object_dir; | ||
|
||
setup_git_directory(); | ||
object_dir = get_object_directory(); | ||
|
||
graph_name = get_commit_graph_filename(object_dir); | ||
|
||
open_ok = open_commit_graph(graph_name, &fd, &st); | ||
if (!open_ok) | ||
die_errno(_("Could not open commit-graph '%s'"), graph_name); | ||
|
||
graph = load_commit_graph_one_fd_st(fd, &st); | ||
if (!graph) | ||
return 1; | ||
|
||
FREE_AND_NULL(graph_name); | ||
|
||
printf("header: %08x %d %d %d %d\n", | ||
ntohl(*(uint32_t*)graph->data), | ||
*(unsigned char*)(graph->data + 4), | ||
*(unsigned char*)(graph->data + 5), | ||
*(unsigned char*)(graph->data + 6), | ||
*(unsigned char*)(graph->data + 7)); | ||
printf("num_commits: %u\n", graph->num_commits); | ||
printf("chunks:"); | ||
|
||
if (graph->chunk_oid_fanout) | ||
printf(" oid_fanout"); | ||
if (graph->chunk_oid_lookup) | ||
printf(" oid_lookup"); | ||
if (graph->chunk_commit_data) | ||
printf(" commit_metadata"); | ||
if (graph->chunk_extra_edges) | ||
printf(" extra_edges"); | ||
printf("\n"); | ||
|
||
UNLEAK(graph); | ||
|
||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters