commit re-encoding: fix confusion between no and default conversion.
Telling the git-log family not to do any character conversion is done with --encoding=none, which sets log_output_encoding to an empty string. However, logmsg_reencode() confused this with log_output_encoding and commit_encoding set to NULL. The latter means we should use the default encoding (i.e. utf-8). Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
1ed4813f7d
commit
4b46e22d48
2
commit.c
2
commit.c
@ -633,6 +633,8 @@ static char *logmsg_reencode(const struct commit *commit)
|
|||||||
: git_commit_encoding);
|
: git_commit_encoding);
|
||||||
|
|
||||||
if (!output_encoding)
|
if (!output_encoding)
|
||||||
|
output_encoding = "utf-8";
|
||||||
|
else if (!*output_encoding)
|
||||||
return NULL;
|
return NULL;
|
||||||
encoding = get_header(commit, "encoding");
|
encoding = get_header(commit, "encoding");
|
||||||
if (!encoding || !strcmp(encoding, output_encoding)) {
|
if (!encoding || !strcmp(encoding, output_encoding)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user