Thread (1 message) 1 message, 1 author, 2020-08-18

Re: [PATCH v3 02/11] revision: parse parent in indegree_walk_step()

From: Jakub Narębski <hidden>
Date: 2020-08-18 14:18:24

"Abhishek Kumar via GitGitGadget" [off-list ref] writes:
From: Abhishek Kumar <redacted>

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 have commit parsed to have correct value for its
generation number.
quoted hunk
Signed-off-by: Abhishek Kumar <redacted>
---
 revision.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/revision.c b/revision.c
index 3dcf689341..ecf757c327 100644
--- a/revision.c
+++ b/revision.c
@@ -3363,6 +3363,9 @@ static void indegree_walk_step(struct rev_info *revs)
 		struct commit *parent = p->item;
 		int *pi = indegree_slab_at(&info->indegree, parent);

+		if (parse_commit_gently(parent, 1) < 0)
+			return;
+
All right, this is exactly what is done in this function for commit 'c'
taken from indegree_queue, whose parents we process here:

	if (parse_commit_gently(c, 1) < 0)
		return;
 		if (*pi)
 			(*pi)++;
 		else
Looks good to me.

Best,
-- 
Jakub Narębski
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help