Skip to content

Commit ddc42ec

Browse files
rscharfegitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent f13ca7c commit ddc42ec

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

builtin/name-rev.c

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,19 @@ static struct rev_name *create_or_update_name(struct commit *commit,
101101
return name;
102102
}
103103

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+
104117
static void name_rev(struct commit *start_commit,
105118
const char *tip_name, timestamp_t taggerdate,
106119
int from_tag, int deref)
@@ -148,19 +161,7 @@ static void name_rev(struct commit *start_commit,
148161
continue;
149162

150163
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);
164165
generation = 0;
165166
distance = name->distance + MERGE_TRAVERSAL_WEIGHT;
166167
} else {

0 commit comments

Comments
 (0)