summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2007-01-09 21:31:36 -0800
committerLibravatar Junio C Hamano <junkio@cox.net>2007-01-09 21:32:49 -0800
commitbb1091a47516f898b757f897b8b398c84343a4e1 (patch)
treeca97aa37380489c955736855eec8054d1622fe87
parent-u is now default for 'git-applymbox' (diff)
downloadtgif-bb1091a47516f898b757f897b8b398c84343a4e1.tar.xz
-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>
-rw-r--r--Documentation/git-mailinfo.txt16
-rw-r--r--builtin-mailinfo.c19
-rwxr-xr-xgit-am.sh2
-rwxr-xr-xgit-applymbox.sh2
4 files changed, 21 insertions, 18 deletions
diff --git a/Documentation/git-mailinfo.txt b/Documentation/git-mailinfo.txt
index ea0a06557f..5088bbea84 100644
--- a/Documentation/git-mailinfo.txt
+++ b/Documentation/git-mailinfo.txt
@@ -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
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
index a67f3eb90b..583da38b67 100644
--- a/builtin-mailinfo.c
+++ b/builtin-mailinfo.c
@@ -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[] =
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
diff --git a/git-am.sh b/git-am.sh
index abd32a8b1c..59d663ba9e 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -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
diff --git a/git-applymbox.sh b/git-applymbox.sh
index 7e690a16ee..1f68599ae5 100755
--- a/git-applymbox.sh
+++ b/git-applymbox.sh
@@ -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 ;;