]> git.ipfire.org Git - thirdparty/git.git/commitdiff
name-rev: factor out get_parent_name()
authorRené Scharfe <l.s.r@web.de>
Tue, 4 Feb 2020 21:23:29 +0000 (22:23 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Feb 2020 18:24:15 +0000 (10:24 -0800)
Reduce nesting by moving code to come up with a name for the parent into
its own function.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/name-rev.c

index 14381a3c646e0ce00a9117ed178374f1b030521d..6701fb1569cf6d65b0fee3b8a96a30e7bc3f974c 100644 (file)
@@ -101,6 +101,19 @@ static struct rev_name *create_or_update_name(struct commit *commit,
        return name;
 }
 
+static char *get_parent_name(const struct rev_name *name, int parent_number)
+{
+       size_t len;
+
+       strip_suffix(name->tip_name, "^0", &len);
+       if (name->generation > 0)
+               return xstrfmt("%.*s~%d^%d", (int)len, name->tip_name,
+                              name->generation, parent_number);
+       else
+               return xstrfmt("%.*s^%d", (int)len, name->tip_name,
+                              parent_number);
+}
+
 static void name_rev(struct commit *start_commit,
                const char *tip_name, timestamp_t taggerdate,
                int from_tag, int deref)
@@ -148,19 +161,7 @@ static void name_rev(struct commit *start_commit,
                                continue;
 
                        if (parent_number > 1) {
-                               size_t len;
-
-                               strip_suffix(name->tip_name, "^0", &len);
-                               if (name->generation > 0)
-                                       new_name = xstrfmt("%.*s~%d^%d",
-                                                          (int)len,
-                                                          name->tip_name,
-                                                          name->generation,
-                                                          parent_number);
-                               else
-                                       new_name = xstrfmt("%.*s^%d", (int)len,
-                                                          name->tip_name,
-                                                          parent_number);
+                               new_name = get_parent_name(name, parent_number);
                                generation = 0;
                                distance = name->distance + MERGE_TRAVERSAL_WEIGHT;
                        } else {