Merge branch 'ds/reachable'
The code for computing history reachability has been shuffled, obtained a bunch of new tests to cover them, and then being improved. * ds/reachable: commit-reach: correct accidental #include of C file commit-reach: use can_all_from_reach commit-reach: make can_all_from_reach... linear commit-reach: replace ref_newer logic test-reach: test commit_contains test-reach: test can_all_from_reach_with_flags test-reach: test reduce_heads test-reach: test get_merge_bases_many test-reach: test is_descendant_of test-reach: test in_merge_bases test-reach: create new test tool for ref_newer commit-reach: move can_all_from_reach_with_flags upload-pack: generalize commit date cutoff upload-pack: refactor ok_to_give_up() upload-pack: make reachable() more generic commit-reach: move commit_contains from ref-filter commit-reach: move ref_newer from remote.c commit.h: remove method declarations commit-reach: move walk methods from commit.c
This commit is contained in:
@ -233,6 +233,24 @@ static int prepare_commit_graph(struct repository *r)
|
||||
return !!r->objects->commit_graph;
|
||||
}
|
||||
|
||||
int generation_numbers_enabled(struct repository *r)
|
||||
{
|
||||
uint32_t first_generation;
|
||||
struct commit_graph *g;
|
||||
if (!prepare_commit_graph(r))
|
||||
return 0;
|
||||
|
||||
g = r->objects->commit_graph;
|
||||
|
||||
if (!g->num_commits)
|
||||
return 0;
|
||||
|
||||
first_generation = get_be32(g->chunk_commit_data +
|
||||
g->hash_len + 8) >> 2;
|
||||
|
||||
return !!first_generation;
|
||||
}
|
||||
|
||||
static void close_commit_graph(void)
|
||||
{
|
||||
free_commit_graph(the_repository->objects->commit_graph);
|
||||
|
Reference in New Issue
Block a user