1. Stefan Saasen
  2. git

Commits

Junio C Hamano  committed bb1091a

-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>

  • Participants
  • Parent commits 62c89c6
  • Branches master

Comments (0)

Files changed (4)

File Documentation/git-mailinfo.txt

View file
  • Ignore whitespace
 	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

File builtin-mailinfo.c

View file
  • Ignore whitespace
 	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);
 }
 
 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

File git-am.sh

View file
  • Ignore whitespace
 if test "$(cat "$dotest/utf8")" = t
 then
 	utf8=-u
+else
+	utf8=-n
 fi
 if test "$(cat "$dotest/keep")" = t
 then

File git-applymbox.sh

View file
  • Ignore whitespace
 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 ;;