On Mon, Jun 08, 2020 at 01:02:35AM +0530, Abhishek Kumar wrote: > diff --git a/commit-graph.c b/commit-graph.c > index 7d887a6a2c..f7cca4def4 100644 > --- a/commit-graph.c > +++ b/commit-graph.c > @@ -1302,8 +1302,8 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx) > ctx->commits.nr); > for (i = 0; i < ctx->commits.nr; i++) { > display_progress(ctx->progress, i + 1); > - if (ctx->commits.list[i]->generation != GENERATION_NUMBER_INFINITY && > - ctx->commits.list[i]->generation != GENERATION_NUMBER_ZERO) > + if (commit_graph_generation(ctx->commits.list[i]) != GENERATION_NUMBER_INFINITY && > + commit_graph_generation(ctx->commits.list[i]) != GENERATION_NUMBER_ZERO) > continue; > > commit_list_insert(ctx->commits.list[i], &list); > @@ -1314,22 +1314,22 @@ static void compute_generation_numbers(struct write_commit_graph_context *ctx) > uint32_t max_generation = 0; > > for (parent = current->parents; parent; parent = parent->next) { > - if (parent->item->generation == GENERATION_NUMBER_INFINITY || > - parent->item->generation == GENERATION_NUMBER_ZERO) { > + if (commit_graph_generation(parent->item) == GENERATION_NUMBER_INFINITY || > + commit_graph_generation(parent->item) == GENERATION_NUMBER_ZERO) { > all_parents_computed = 0; > commit_list_insert(parent->item, &list); > break; > - } else if (parent->item->generation > max_generation) { > - max_generation = parent->item->generation; > + } else if (commit_graph_generation(parent->item) > max_generation) { > + max_generation = commit_graph_generation(parent->item); > } > } > > if (all_parents_computed) { > - current->generation = max_generation + 1; > + commit_graph_data_at(current)->generation = max_generation + 1; > pop_commit(&list); > > - if (current->generation > GENERATION_NUMBER_MAX) > - current->generation = GENERATION_NUMBER_MAX; > + if (commit_graph_generation(current) > GENERATION_NUMBER_MAX) > + commit_graph_data_at(current)->generation = GENERATION_NUMBER_MAX; > } > } > } Something about these conversions is not right, as they send compute_generation_numbers() into an endless loop, and 't5318-commit-graph.sh' hangs because of this.