git-gui: Use gitattribute "encoding" for file content display
commit1ffca60f0b0395e1e593e64d66e7ed3c47d8517e
authorShawn O. Pearce <spearce@spearce.org>
Wed, 23 Jan 2008 05:37:10 +0000 (23 00:37 -0500)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 24 Sep 2008 19:48:31 +0000 (24 12:48 -0700)
treef7f1c65e1908661cf12ea33ecd92e116e19fd090
parent2cd1fd1f6da5243226779acb17be9132d53ec4a9
git-gui: Use gitattribute "encoding" for file content display

Most folks using git-gui on internationalized files have complained
that it doesn't recognize UTF-8 correctly.  In the past we have just
ignored the problem and showed the file contents as binary/US-ASCII,
which is wrong no matter how you look at it.

This really should be a per-file attribute, managed by .gitattributes,
so we now pull the "encoding" attribute data for the given path from
the .gitattributes (if available) and use that, falling back to UTF-8
if the attributes are unavailable, git-check-attr is broken, or an
encoding for this path not specified.

We apply the encoding anytime we show file content, which currently
is limited to only the diff viewer and the blame viewer.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
.gitattributes [new file with mode: 0644]
git-gui.sh
lib/blame.tcl
lib/diff.tcl