У меня есть файл с символами unicode (русский текст).
Когда я исправляю некоторую опечатку, я использую git diff --color-words=.
, чтобы увидеть изменения, которые я сделал.
В случае символов unicode (кириллицы) я получаю некоторый беспорядок с угловыми скобками:
$ cat p1
привет
$ cat p2
Привет
$ git diff --color-words=. --no-index p1 p2
diff --git 1/p1 2/p2
index d0f56e1..d84c480 100644
--- 1/p1
+++ 2/p2
@@ -1 +1 @@
<D0><BF><9F>ривет
Похоже, что git diff --color-words=.
проверяет разницу между байтами, а не между символами, как я ожидаю.
Можно ли описать git
правильную работу с символами Unicode?
UPD о моей среде: я получаю то же самое в Mac OS и на хосте Linux.
Мои раковины оболочки:
BASH=/bin/bash
HOSTTYPE=x86_64
LANG=ru_RU.UTF-8
OSTYPE=darwin10.0
PS1='\h:\W \u\$ '
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
TERM=xterm-256color
TERM_PROGRAM=iTerm.app
_=-l
У меня есть reset git config для настроек по умолчанию:
$ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
git версия
$ git --version
git version 1.7.3.5