author | Alexander Gavrilov <angavrilov@gmail.com> | |
Tue, 21 Oct 2008 20:55:57 +0000 (00:55 +0400) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 21 Oct 2008 21:09:34 +0000 (14:09 -0700) | ||
commit | 69cd8f63427c65c65d9cd66bb8c05ca93dc3edef | |
tree | 6520e907a99f50404bf9ba8e151ceb6f06e72e5e | tree | snapshot |
parent | 208f689610e524ce9858f9d28635f7fea51b8d96 | commit | diff |
builtin-blame: Reencode commit messages according to git-log rules.
Currently git-blame outputs text from the commit messages
(e.g. the author name and the summary string) as-is, without
even providing any information about the encoding used for
the data. It makes interpreting the data in multilingual
environment very difficult.
This commit changes the blame implementation to recode the
messages using the rules used by other commands like git-log.
Namely, the target encoding can be specified through the
i18n.commitEncoding or i18n.logOutputEncoding options, or
directly on the command line using the --encoding parameter.
Converting the encoding before output seems to be more
friendly to the porcelain tools than simply providing the
value of the encoding header, and does not require changing
the output format.
If anybody needs the old behavior, it is possible to
achieve it by specifying --encoding=none.
Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Currently git-blame outputs text from the commit messages
(e.g. the author name and the summary string) as-is, without
even providing any information about the encoding used for
the data. It makes interpreting the data in multilingual
environment very difficult.
This commit changes the blame implementation to recode the
messages using the rules used by other commands like git-log.
Namely, the target encoding can be specified through the
i18n.commitEncoding or i18n.logOutputEncoding options, or
directly on the command line using the --encoding parameter.
Converting the encoding before output seems to be more
friendly to the porcelain tools than simply providing the
value of the encoding header, and does not require changing
the output format.
If anybody needs the old behavior, it is possible to
achieve it by specifying --encoding=none.
Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/blame-options.txt | diff | blob | history | |
Documentation/i18n.txt | diff | blob | history | |
builtin-blame.c | diff | blob | history | |
commit.h | diff | blob | history | |
pretty.c | diff | blob | history | |
t/t8005-blame-i18n.sh | [new file with mode: 0755] | blob |
t/t8005/cp1251.txt | [new file with mode: 0644] | blob |
t/t8005/sjis.txt | [new file with mode: 0644] | blob |
t/t8005/utf8.txt | [new file with mode: 0644] | blob |