Currently GUI tools don't provide enough support for viewing files that contain non-ASCII characters. This set of patches addresses this issue. The git-gui part of the series is based on patches that were in the 'pu' branch of the git-gui repository. UPDATE: the git-gui part of the series is in master. File encoding can be specified in the following ways: 1) It defaults to the current locale encoding. 2) It can be overridden by setting the gui.encoding option. 3) It can be further set on per-file basis by specifying the 'encoding' attribute in gitattributes. 4) Finally, git-gui allows directly selecting encodings through a popup menu. Since git apparently cannot work with filenames in non-locale encodings anyway, I did not try to do anything about it apart from fixing some obvious bugs. CHANGES: - Wrote better comments for the first three patches. - Added a patch to speed up loading of very large diffs. GITK: gitk: Port new encoding logic from git-gui. --- gitk | 50 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 3 deletions(-) gitk: Implement file contents encoding support. --- gitk | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) gitk: Support filenames in the locale encoding. --- gitk | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) gitk: Implement batch lookup and caching of encoding attrs. --- gitk | 35 ++++++++++++++++++++++++++++++++++- 1 files changed, 34 insertions(+), 1 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html