Skip to content

Commit

Permalink
merge: narrow scope of merge_names
Browse files Browse the repository at this point in the history
In order to pass the list of parents to fmt_merge_msg(), cmd_merge()
uses this strbuf to create something that look like FETCH_HEAD that
describes commits that are being merged.  This is necessary only
when we are creating the merge commit message ourselves, but was
done unconditionally.

Move the variable and the logic to populate it to confine them in a
block that needs them.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Junio C Hamano committed Apr 29, 2015
1 parent 34349db commit 018b3fb
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions builtin/merge.c
Original file line number Diff line number Diff line change
Expand Up @@ -1236,8 +1236,6 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
argc -= 2;
remoteheads = collect_parents(head_commit, &head_subsumed, argc, argv);
} else {
struct strbuf merge_names = STRBUF_INIT;

/* We are invoked directly as the first-class UI. */
head_arg = "HEAD";

Expand All @@ -1247,11 +1245,14 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
* to the given message.
*/
remoteheads = collect_parents(head_commit, &head_subsumed, argc, argv);
for (p = remoteheads; p; p = p->next)
merge_name(merge_remote_util(p->item)->name, &merge_names);

if (!have_message || shortlog_len) {
struct strbuf merge_names = STRBUF_INIT;
struct fmt_merge_msg_opts opts;

for (p = remoteheads; p; p = p->next)
merge_name(merge_remote_util(p->item)->name, &merge_names);

memset(&opts, 0, sizeof(opts));
opts.add_title = !have_message;
opts.shortlog_len = shortlog_len;
Expand All @@ -1260,6 +1261,8 @@ int cmd_merge(int argc, const char **argv, const char *prefix)
fmt_merge_msg(&merge_names, &merge_msg, &opts);
if (merge_msg.len)
strbuf_setlen(&merge_msg, merge_msg.len - 1);

strbuf_release(&merge_names);
}
}

Expand Down

0 comments on commit 018b3fb

Please sign in to comment.