From: Abhishek Kumar Date: Sat, 16 Jan 2021 18:11:09 +0000 (+0000) Subject: revision: parse parent in indegree_walk_step() X-Git-Tag: v2.31.0-rc0~47^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f9bbb6d91cfd72028cd930ab7e19d5d4903e58a;p=thirdparty%2Fgit.git revision: parse parent in indegree_walk_step() In indegree_walk_step(), we add unvisited parents to the indegree queue. However, parents are not guaranteed to be parsed. As the indegree queue sorts by generation number, let's parse parents before inserting them to ensure the correct priority order. Signed-off-by: Abhishek Kumar Reviewed-by: Taylor Blau Reviewed-by: Derrick Stolee Signed-off-by: Junio C Hamano --- diff --git a/revision.c b/revision.c index 9dff845bed..de8e45f462 100644 --- a/revision.c +++ b/revision.c @@ -3373,6 +3373,9 @@ static void indegree_walk_step(struct rev_info *revs) struct commit *parent = p->item; int *pi = indegree_slab_at(&info->indegree, parent); + if (repo_parse_commit_gently(revs->repo, parent, 1) < 0) + return; + if (*pi) (*pi)++; else