Browse Source

-u is now default for 'git-mailinfo'.

Originally from David Woodhouse, but also adjusts the callers of
mailinfo to the new default.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 18 years ago
parent
commit
bb1091a475
  1. 16
      Documentation/git-mailinfo.txt
  2. 19
      builtin-mailinfo.c
  3. 2
      git-am.sh
  4. 2
      git-applymbox.sh

16
Documentation/git-mailinfo.txt

@ -33,15 +33,13 @@ OPTIONS @@ -33,15 +33,13 @@ OPTIONS
format-patch --mbox' output.

-u::
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.
Note that the patch is always used as is without charset
conversion, even with this flag.
The commit log message, author name and author email are
taken from the e-mail, and after minimally decoding MIME
transfer encoding, re-coded in UTF-8 by transliterating
them. This used to be optional but now it is the default.
+
Note that the patch is always used as-is without charset
conversion, even with this flag.

--encoding=<encoding>::
Similar to -u but if the local convention is different

19
builtin-mailinfo.c

@ -515,12 +515,9 @@ static void convert_to_utf8(char *line, char *charset) @@ -515,12 +515,9 @@ static void convert_to_utf8(char *line, char *charset)
char *input_charset = *charset ? charset : latin_one;
char *out = reencode_string(line, metainfo_charset, input_charset);

if (!out) {
fprintf(stderr, "cannot convert from %s to %s\n",
input_charset, metainfo_charset);
*charset = 0;
return;
}
if (!out)
die("cannot convert from %s to %s\n",
input_charset, metainfo_charset);
strcpy(line, out);
free(out);
}
@ -797,17 +794,23 @@ static const char mailinfo_usage[] = @@ -797,17 +794,23 @@ static const char mailinfo_usage[] =

int cmd_mailinfo(int argc, const char **argv, const char *prefix)
{
const char *def_charset;

/* NEEDSWORK: might want to do the optional .git/ directory
* discovery
*/
git_config(git_default_config);

def_charset = (git_commit_encoding ? git_commit_encoding : "utf-8");
metainfo_charset = def_charset;

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");
metainfo_charset = def_charset;
else if (!strcmp(argv[1], "-n"))
metainfo_charset = NULL;
else if (!strncmp(argv[1], "--encoding=", 11))
metainfo_charset = argv[1] + 11;
else

2
git-am.sh

@ -228,6 +228,8 @@ fi @@ -228,6 +228,8 @@ fi
if test "$(cat "$dotest/utf8")" = t
then
utf8=-u
else
utf8=-n
fi
if test "$(cat "$dotest/keep")" = t
then

2
git-applymbox.sh

@ -28,7 +28,7 @@ while case "$#" in 0) break ;; esac @@ -28,7 +28,7 @@ while case "$#" in 0) break ;; esac
do
case "$1" in
-u) utf8=-u ;;
-n) utf8= ;;
-n) utf8=-n ;;
-k) keep_subject=-k ;;
-q) query_apply=t ;;
-c) continue="$2"; resume=f; shift ;;

Loading…
Cancel
Save