From: Junio C Hamano Date: Wed, 19 Nov 2014 21:47:49 +0000 (-0800) Subject: Merge branch 'cc/interpret-trailers' X-Git-Tag: v2.2.0-rc3~10 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/d4c4f18090c91377dd19df8a18232d1697455aa6?ds=inline;hp=-c Merge branch 'cc/interpret-trailers' Small fixes to a new experimental command already in 'master'. * cc/interpret-trailers: trailer: display a trailer without its trailing newline trailer: ignore comment lines inside the trailers --- d4c4f18090c91377dd19df8a18232d1697455aa6 diff --combined trailer.c index 6ae786505a,219a5a2dad..a905f5c50c --- a/trailer.c +++ b/trailer.c @@@ -228,7 -228,7 +228,7 @@@ static const char *apply_command(const { struct strbuf cmd = STRBUF_INIT; struct strbuf buf = STRBUF_INIT; - struct child_process cp; + struct child_process cp = CHILD_PROCESS_INIT; const char *argv[] = {NULL, NULL}; const char *result; @@@ -237,6 -237,7 +237,6 @@@ strbuf_replace(&cmd, TRAILER_ARG_STRING, arg); argv[0] = cmd.buf; - memset(&cp, 0, sizeof(cp)); cp.argv = argv; cp.env = local_repo_env; cp.no_stdin = 1; @@@ -582,8 -583,12 +582,12 @@@ static int parse_trailer(struct strbuf strbuf_addch(&seps, '='); len = strcspn(trailer, seps.buf); strbuf_release(&seps); - if (len == 0) - return error(_("empty trailer token in trailer '%s'"), trailer); + if (len == 0) { + int l = strlen(trailer); + while (l > 0 && isspace(trailer[l - 1])) + l--; + return error(_("empty trailer token in trailer '%.*s'"), l, trailer); + } if (len < strlen(trailer)) { strbuf_add(tok, trailer, len); strbuf_trim(tok); @@@ -803,8 -808,10 +807,10 @@@ static int process_input_file(struct st /* Parse trailer lines */ for (i = trailer_start; i < patch_start; i++) { - struct trailer_item *new = create_trailer_item(lines[i]->buf); - add_trailer_item(in_tok_first, in_tok_last, new); + if (lines[i]->buf[0] != comment_line_char) { + struct trailer_item *new = create_trailer_item(lines[i]->buf); + add_trailer_item(in_tok_first, in_tok_last, new); + } } return patch_start;