From: Junio C Hamano Date: Wed, 26 Aug 2009 19:05:57 +0000 (-0700) Subject: Merge branch 'js/maint-cover-letter-non-ascii' into maint X-Git-Tag: v1.6.4.2~8 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/1d2a7e0c589e8c1328ebabd64f74d26357d431b2?ds=inline;hp=-c Merge branch 'js/maint-cover-letter-non-ascii' into maint * js/maint-cover-letter-non-ascii: Correctly mark cover letters' encodings if they are not pure ASCII Expose the has_non_ascii() function --- 1d2a7e0c589e8c1328ebabd64f74d26357d431b2 diff --combined builtin-log.c index 30358166e6,1929e0a16c..5f3133079d --- a/builtin-log.c +++ b/builtin-log.c @@@ -257,7 -257,7 +257,7 @@@ static void show_tagger(char *buf, int pp_user_info("Tagger", rev->commit_format, &out, buf, rev->date_mode, git_log_output_encoding ? git_log_output_encoding: git_commit_encoding); - printf("%s\n", out.buf); + printf("%s", out.buf); strbuf_release(&out); } @@@ -329,14 -329,11 +329,14 @@@ int cmd_show(int argc, const char **arg case OBJ_TAG: { struct tag *t = (struct tag *)o; + if (rev.shown_one) + putchar('\n'); printf("%stag %s%s\n", diff_get_color_opt(&rev.diffopt, DIFF_COMMIT), t->tag, diff_get_color_opt(&rev.diffopt, DIFF_RESET)); ret = show_object(o->sha1, 1, &rev); + rev.shown_one = 1; if (ret) break; o = parse_object(t->tagged->sha1); @@@ -348,15 -345,12 +348,15 @@@ break; } case OBJ_TREE: + if (rev.shown_one) + putchar('\n'); printf("%stree %s%s\n\n", diff_get_color_opt(&rev.diffopt, DIFF_COMMIT), name, diff_get_color_opt(&rev.diffopt, DIFF_RESET)); read_tree_recursive((struct tree *)o, "", 0, 0, NULL, show_tree_object, NULL); + rev.shown_one = 1; break; case OBJ_COMMIT: rev.pending.nr = rev.pending.alloc = 0; @@@ -664,6 -658,10 +664,10 @@@ static void make_cover_letter(struct re log_write_email_headers(rev, head, &subject_start, &extra_headers, &need_8bit_cte); + for (i = 0; !need_8bit_cte && i < nr; i++) + if (has_non_ascii(list[i]->buffer)) + need_8bit_cte = 1; + msg = body; pp_user_info(NULL, CMIT_FMT_EMAIL, &sb, committer, DATE_RFC2822, encoding);