Code

commit re-encoding: fix confusion between no and default conversion.
authorJunio C Hamano <junkio@cox.net>
Sat, 30 Dec 2006 10:18:24 +0000 (02:18 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 30 Dec 2006 10:18:24 +0000 (02:18 -0800)
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>
commit.c

index eb06afbbe0f00ac4f553e37c50eca290418a7907..e13b9cb6a354e8a5615496477768ea69edb060b3 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -633,6 +633,8 @@ static char *logmsg_reencode(const struct commit *commit)
                                 : git_commit_encoding);
 
        if (!output_encoding)
+               output_encoding = "utf-8";
+       else if (!*output_encoding)
                return NULL;
        encoding = get_header(commit, "encoding");
        if (!encoding || !strcmp(encoding, output_encoding)) {