From e918c6abac65fb56b381f37cc139753fbe6768a3 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 12 Jul 2006 22:21:05 -0700 Subject: [PATCH] fmt-merge-msg fix The new C version mistranslated the original Perl version in the case to pull from the HEAD. This made it to say nonsense like this: Merge commit ...url... of HEAD * HEAD: ... Signed-off-by: Junio C Hamano --- builtin-fmt-merge-msg.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/builtin-fmt-merge-msg.c b/builtin-fmt-merge-msg.c index 65274824d..fe0ef44b4 100644 --- a/builtin-fmt-merge-msg.c +++ b/builtin-fmt-merge-msg.c @@ -76,6 +76,7 @@ static int handle_line(char *line) unsigned char *sha1; char *src, *origin; struct src_data *src_data; + int pulling_head = 0; if (len < 43 || line[40] != '\t') return 1; @@ -101,8 +102,11 @@ static int handle_line(char *line) if (src) { *src = 0; src += 4; - } else - src = "HEAD"; + pulling_head = 0; + } else { + src = line; + pulling_head = 1; + } i = find_in_list(&srcs, src); if (i < 0) { @@ -112,7 +116,10 @@ static int handle_line(char *line) } src_data = srcs.payload[i]; - if (!strncmp(line, "branch ", 7)) { + if (pulling_head) { + origin = strdup(src); + src_data->head_status |= 1; + } else if (!strncmp(line, "branch ", 7)) { origin = strdup(line + 7); append_to_list(&src_data->branch, origin, NULL); src_data->head_status |= 2; @@ -124,9 +131,6 @@ static int handle_line(char *line) origin = strdup(line + 14); append_to_list(&src_data->r_branch, origin, NULL); src_data->head_status |= 2; - } else if (!strcmp(line, "HEAD")) { - origin = strdup(src); - src_data->head_status |= 1; } else { origin = strdup(src); append_to_list(&src_data->generic, strdup(line), NULL); -- 2.30.2