Thread (93 messages) 93 messages, 7 authors, 2019-12-09

Re: [PATCH v2 12/13] name-rev: eliminate recursion in name_rev()

From: Jonathan Tan <hidden>
Date: 2019-11-27 17:57:57

Note that this slightly changes the order of lines in the output of
'git name-rev --all', usually swapping two lines every 35 lines in
git.git or every 150 lines in linux.git.  This shouldn't matter in
practice, because the output has always been unordered anyway.
I didn't verify that the changing of order is fine, but other than that,
this patch looks great.
This patch is best viewed with '--ignore-all-space'.
Thanks for the tip! I ended up unindenting the loop to see the changes
better, but I should have done this instead.
-static void name_rev(struct commit *commit,
+static void name_rev(struct commit *start_commit,
 		const char *tip_name, timestamp_t taggerdate,
 		int from_tag)
There are many changes from tip_name to name->tip_name in this function
that mean that tip_name is no longer used within this function. Should
this cleanup have been done in one of the earlier patches?

Apart from that, overall, this patch looks like a straightforward good
change. When we have a parent, instead of immediately calling name_rev()
recursively, we first add it to an array, and then (in reverse order)
add it to a priority queue which is actually used as a LIFO stack.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help