Hi Karsten,

Thanks, you helped me a lot. I see now, that logoutputencoding 
is for commit header data, not for whole log output. The name
is little missleading, so do description:
   Encoding to use when displaying logs.

Regarding git-log / git-diff output, there are basically three different

character set encodings involved:
1. commit log messages: re-coded to i18n.logoutputencoding (usually

also commiter and author fields.

2. file content: printed verbatim (no re-coding); gui tools such as gitk

may decode this based on gui.encoding or .gitattributes settings
3. everything else (file names, diff headers, error / warning messages):

always UTF-8 (at least in Git for Windows)

It is more like git encoding than UTF-8. 

Gui tools such as gitk decode this output line by line using the 
appropriate encoding.

It would be easier to do it if output was displayed in consistent way. I
see no reason why one part of output is quoted and other is not. Another

$ git status
warning: LF will be replaced by CRLF in 1ą.txt.
The file will have its original line endings in your working directory.
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 2 different commit(s) each, respectively.
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#       modified:   "1\261.txt"

Git doesn't recode commit header when --pretty is set to format,
but recodes when --pretty is set to full, raw, etc. Do you know if it is
done by mistake or by design?

Thanks again,
Janusz Białobrzewski.

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to