From: Jakub Narębski Date: Sat, 24 Oct 2020 23:41:19 GMT Subject: Re: [PATCH v4 02/10] revision: parse parent in indegree_walk_step() Message-ID: <85o8kr42g0.fsf@gmail.com> In-Reply-To: <4470d916428a28bb8277dfc4c3da84e08110e88e.1602079786.git.gitgitgadget@gmail.com> "Abhishek Kumar via GitGitGadget" writes: > From: Abhishek Kumar > > 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. All right, we need to ensure the parent commit is parsed to know its generation number, to insert in into priority queue in a correct order. > > Signed-off-by: Abhishek Kumar Looks good. > --- > revision.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/revision.c b/revision.c > index aa62212040..c97abcdde1 100644 > --- a/revision.c > +++ b/revision.c > @@ -3381,6 +3381,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 Best, -- Jakub Narębski