Code

git-gui: Correctly handle UTF-8 encoded commit messages
authorShawn O. Pearce <spearce@spearce.org>
Tue, 24 Apr 2007 06:11:40 +0000 (02:11 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 24 Apr 2007 06:11:40 +0000 (02:11 -0400)
commitf20db5ff30af2169a0fe8a0afe015c30cdbe0256
treed0a086489905620467f677af897ee6065f5f9668
parent845d377b2880a0c5d74f785244469ab1ac815bde
git-gui: Correctly handle UTF-8 encoded commit messages

Uwe Kleine-König discovered git-gui mangled his surname and did
not send the proper UTF-8 byte sequence to git-commit-tree when
his name appeared in the commit message (e.g. Signed-Off-By line).

Turns out this was related to other trouble that I had in the past
with trying to use "fconfigure $fd -encoding $enc" to select the
stream encoding and let Tcl's IO engine do all of the encoding work
for us.  Other parts of git-gui were just always setting the file
channels to "-encoding binary" and then performing the encoding
work themselves using "encoding convertfrom" and "convertto", as
that was the only way I could make UTF-8 filenames work properly.

I found this same bug in the amend code path, and in the blame
display.  So its fixed in all three locations (commit creation,
reloading message for amend, viewing  message in blame).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui.sh