If the commit message has no empty line after the first line, we need to insert a newline after the first, so that the newlines won't be removed from the commit message for example when they are applied using git-am. Signed-off-by: Miklos Vajna <vmiklos@xxxxxxxxxxxxxx> --- On Wed, Apr 16, 2008 at 02:37:25AM +0200, Miklos Vajna <vmiklos@xxxxxxxxxxxxxx> wrote: > If we are at it, I had a similar bugreport: If one doesn't use an > empty > line after the first line in the commit message, a git-format-patch + > git-am combo will strip newlines from the commit message: > > http://article.gmane.org/gmane.comp.version-control.git/73755 > > There, you suggested to modify git-format-patch, but I haven't come up > with such a patch nor anybody else. > > Actually I recently tried to make one but I got lost in pretty.c and > log-tree.c. :-) Ok, here is a try. It does the trick for me, but this it the first time I touch pretty.c so feel free to point out if I did something wrong ;-) Thanks. pretty.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/pretty.c b/pretty.c index 6c04176..45a5679 100644 --- a/pretty.c +++ b/pretty.c @@ -653,6 +653,7 @@ void pp_title_line(enum cmit_fmt fmt, strbuf_init(&title, 80); + int check_empty = 1; for (;;) { const char *line = *msg_p; int linelen = get_one_line(line); @@ -666,7 +667,10 @@ void pp_title_line(enum cmit_fmt fmt, if (fmt == CMIT_FMT_EMAIL) { strbuf_addch(&title, '\n'); } - strbuf_addch(&title, ' '); + if (check_empty && strcmp(line, "\n")) { + check_empty = 0; + strbuf_addch(&title, '\n'); + } } strbuf_add(&title, line, linelen); } -- 1.5.5 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html