Following the previous patches in this series we can get the value of 'name_rev()'s 'tip_name' parameter from the 'struct rev_name' associated with the commit as well. So let's use 'name->tip_name' instead, which makes the patch eliminating the recursion of name_rev() a bit easier to follow. Note that at this point we could drop the 'tip_name' parameter as well, but that parameter will be necessary later, after the recursion is eliminated. Signed-off-by: SZEDER Gábor <szeder.dev@xxxxxxxxx> --- builtin/name-rev.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/builtin/name-rev.c b/builtin/name-rev.c index fc61d6fa71..6c1e6e9868 100644 --- a/builtin/name-rev.c +++ b/builtin/name-rev.c @@ -126,18 +126,21 @@ static void name_rev(struct commit *commit, if (parent_number > 1) { size_t len; - strip_suffix(tip_name, "^0", &len); + strip_suffix(name->tip_name, "^0", &len); if (name->generation > 0) - new_name = xstrfmt("%.*s~%d^%d", (int)len, tip_name, + new_name = xstrfmt("%.*s~%d^%d", + (int)len, + name->tip_name, name->generation, parent_number); else - new_name = xstrfmt("%.*s^%d", (int)len, tip_name, + new_name = xstrfmt("%.*s^%d", (int)len, + name->tip_name, parent_number); generation = 0; distance = name->distance + MERGE_TRAVERSAL_WEIGHT; } else { - new_name = tip_name; + new_name = name->tip_name; generation = name->generation + 1; distance = name->distance + 1; } -- 2.24.0.801.g241c134b8d