git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH (GITK) v3 0/4] Enhance encoding support.

From
Alexander Gavrilov <angavrilov@gmail.com>
Date
Oct 13, 2008, 08:12 UTC
Message-ID
<1223885554-27718-1-git-send-email-angavrilov@gmail.com>

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 v2:
- Wrote better comments for the first three patches.
- Added a patch to speed up loading of very large diffs.
CHANGES v3:
- Killed get_cached_encoding, replacing it with get_path_encoding.
- Squashed file name and content patches into one.
- Added the tcl_encoding reimplementation patch. I should
  say that without the second cache this really makes a
  difference with thousand-file diffs.
GITK:
	gitk: Port new encoding logic from git-gui.
	---
	 gitk |   39 ++++++++++++++++++++++++++++++++++++---
	 1 files changed, 36 insertions(+), 3 deletions(-)
	gitk: Enhance file encoding support.
	---
	 gitk |   35 +++++++++++++++++++++++++++--------
	 1 files changed, 27 insertions(+), 8 deletions(-)
	gitk: Implement batch lookup and caching of encoding attrs.
	---
	 gitk |   35 ++++++++++++++++++++++++++++++++++-
	 1 files changed, 34 insertions(+), 1 deletions(-)
	gitk: Optimize encoding name resolution using a lookup table.
	---
	 gitk |   84 ++++++++++++++++++++++++++++++++++++++++++-----------------------
	 1 files changed, 54 insertions(+), 30 deletions(-)
Next: Alexander Gavrilov
Message 1 of 8 in “Enhance encoding support.”
  1. 0/4 Enhance encoding support.Alexander Gavrilov, Oct 13, 2008
  2. 1/4 gitk: Port new encoding logic from git-gui.Alexander Gavrilov, Oct 13, 2008
  3. 2/4 gitk: Enhance file encoding support.Alexander Gavrilov, Oct 13, 2008
  4. 3/4 gitk: Implement batch lookup and caching of encoding attrs.Alexander Gavrilov, Oct 13, 2008
  5. 4/4 gitk: Optimize encoding name resolution using a lookup table.Alexander Gavrilov, Oct 13, 2008
  6. Paul MackerrasOct 15, 2008
  7. Paul MackerrasOct 15, 2008
  8. Alexander GavrilovOct 15, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.