name-rev: factor out get_parent_name()
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>
René Scharfe committed
Feb 4, 2020 at 22:23 UTC
ddc42ec786ab2b64ef70bbd1e456db423dae031e
1 file changed
+14
-13
builtin/name-rev.c
+14
-13
@@ -101,6 +101,19 @@ static struct rev_name *create_or_update_name(struct commit *commit,
101
return name;
102
}
103
104
+static char *get_parent_name(const struct rev_name *name, int parent_number)
105
+{
106
+ size_t len;
107
+
108
+ strip_suffix(name->tip_name, "^0", &len);
109
+ if (name->generation > 0)
110
+ return xstrfmt("%.*s~%d^%d", (int)len, name->tip_name,
111
+ name->generation, parent_number);
112
+ else
113
+ return xstrfmt("%.*s^%d", (int)len, name->tip_name,
114
+ parent_number);
115
+}
116
+
117
static void name_rev(struct commit *start_commit,
118
const char *tip_name, timestamp_t taggerdate,
119
int from_tag, int deref)
@@ -148,19 +161,7 @@ static void name_rev(struct commit *start_commit,
161
continue;
162
163
if (parent_number > 1) {
151
- size_t len;
152
-
153
- strip_suffix(name->tip_name, "^0", &len);
154
- if (name->generation > 0)
155
- new_name = xstrfmt("%.*s~%d^%d",
156
- (int)len,
157
- name->tip_name,
158
- name->generation,
159
- parent_number);
160
- else
161
- new_name = xstrfmt("%.*s^%d", (int)len,
162
- name->tip_name,
163
- parent_number);
164
+ new_name = get_parent_name(name, parent_number);
165
generation = 0;
166
distance = name->distance + MERGE_TRAVERSAL_WEIGHT;
167
} else {