On Tue, 2007-01-09 at 15:08 +0100, Johannes Schindelin wrote: > Hi, > > On Tue, 9 Jan 2007, David Woodhouse wrote: > > in the Documentation, > > > -u:: > > needs to be replaced by "-n::", and > > > + If the i18n.commitencoding configuration option is set > > + set incorrectly (or unset when the UTF-8 default is not > > needs only one "set", not two. Oops; thanks. diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt index ea0a065..e267053 100644 --- a/Documentation/git-mailinfo.txt +++ b/Documentation/git-mailinfo.txt @@ -8,7 +8,7 @@ git-mailinfo - Extracts patch from a single e-mail message SYNOPSIS -------- -'git-mailinfo' [-k] [-u | --encoding=<encoding>] <msg> <patch> +'git-mailinfo' [-k] [-n | --encoding=<encoding>] <msg> <patch> DESCRIPTION @@ -32,21 +32,22 @@ OPTIONS munging, and is most useful when used to read back 'git format-patch --mbox' output. --u:: +-n:: By default, the commit log message, author name and - author email are taken from the e-mail without any - charset conversion, after minimally decoding MIME - transfer encoding. This flag causes the resulting - commit to be encoded in the encoding specified by - i18n.commitencoding configuration (defaults to utf-8) by - transliterating them. + author email are transliterated if necessary in order + to store them in the correct encoding as specified by + the i18n.commitencoding configuration option (which + defaults to UTF-8). This flag disables such character + set conversion; performing basic MIME transfer decoding + but then intentionally discarding the character set + information and using the raw byte sequences. Note that the patch is always used as is without charset - conversion, even with this flag. + conversion, even without this flag. --encoding=<encoding>:: - Similar to -u but if the local convention is different - from what is specified by i18n.commitencoding, this flag - can be used to override it. + If the i18n.commitencoding configuration option is set + incorrectly (or unset when the UTF-8 default is not + desired), this flag can be used to override it. <msg>:: The commit log message extracted from e-mail, usually diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c index a67f3eb..02bd183 100644 --- a/builtin-mailinfo.c +++ b/builtin-mailinfo.c @@ -518,8 +518,7 @@ static void convert_to_utf8(char *line, char *charset) if (!out) { fprintf(stderr, "cannot convert from %s to %s\n", input_charset, metainfo_charset); - *charset = 0; - return; + exit(1); } strcpy(line, out); free(out); @@ -793,7 +792,7 @@ int mailinfo(FILE *in, FILE *out, int ks, const char *encoding, } static const char mailinfo_usage[] = - "git-mailinfo [-k] [-u | --encoding=<encoding>] msg patch <mail >info"; + "git-mailinfo [-k] [-n | --encoding=<encoding>] msg patch <mail >info"; int cmd_mailinfo(int argc, const char **argv, const char *prefix) { @@ -802,12 +801,16 @@ int cmd_mailinfo(int argc, const char **argv, const char *prefix) */ git_config(git_default_config); + metainfo_charset = (git_commit_encoding + ? git_commit_encoding : "utf-8"); + while (1 < argc && argv[1][0] == '-') { if (!strcmp(argv[1], "-k")) keep_subject = 1; - else if (!strcmp(argv[1], "-u")) - metainfo_charset = (git_commit_encoding - ? git_commit_encoding : "utf-8"); + else if (!strcmp(argv[1], "-u")) + ; /* this is now default behaviour */ + else if (!strcmp(argv[1], "-n")) + metainfo_charset = NULL; else if (!strncmp(argv[1], "--encoding=", 11)) metainfo_charset = argv[1] + 11; else -- dwmw2 - 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