Hello,
when I try to amend a commit with git gui that is properly signed-off by
me and hit "Commit", I get
commit-tree failed:
<sha1 sum>
Warning: commit message does not conform to UTF-8.
You may ...
The commit was done with git-commit, I have
zeisberg@cassiopeia:~$ set | grep -E '^L(ANG|C_)'
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
and the ö is properly displayed in the commit message text box before
hitting Commit. When I remove the ö, I can commit (and re-amend on the
cmdline).
I'm using:
zeisberg@cassiopeia:~/gsrc/linux-2.6$ git version
git version 1.5.1.1.190.g74474
zeisberg@cassiopeia:~/gsrc/linux-2.6$ git gui version
git-gui version 0.6.5.10.g845d3
I don't know tcl/tk very well, so for now you only get a report and no
patch :-(
Best regards
Uwe
--
Uwe Kleine-König
http://www.google.com/search?q=5%2B7
From: Shawn O. Pearce <hidden> Date: 2016-06-15 22:43:06
Uwe Kleine-K??nig [off-list ref] wrote:
commit-tree failed:
<sha1 sum>
Warning: commit message does not conform to UTF-8.
You may ...
The commit was done with git-commit, I have
zeisberg@cassiopeia:~$ set | grep -E '^L(ANG|C_)'
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
What does your git-config think is the value of i18n.commitencoding?
If its unset git-gui assumes utf-8 as the encoding. Hmm...
This particular code is around line 1287 of git-gui:
1287 # -- Build the message.
1288 #
1289 set msg_p [gitdir COMMIT_EDITMSG]
1290 set msg_wt [open $msg_p w]
1291 if {[catch {set enc $repo_config(i18n.commitencoding)}]} {
1292 set enc utf-8
1293 }
1294 fconfigure $msg_wt -encoding $enc -translation binary
1295 puts -nonewline $msg_wt $msg
1296 close $msg_wt
We should be writing the commit message (here $msg) out to a
temporary file ($msg_p / $msg_t), using a UTF-8 encoding ($enc).
Apparently that's not what's happening here. I wonder if the Tk
text widget is feeding me UTF-8, and the way I have configured the
file channel Tcl is than mangling things futher... *sigh*
Anyone reading this a better Tcl guru than I?
I'll try to take a look at this tomorrow. I'll have to figure out
how to get your proper name into git-gui first. :-)
I had thought I had most of git-gui i8n safe, but apparently not.
Thanks for the bug report!
--
Shawn.
From: Shawn O. Pearce <hidden> Date: 2016-06-15 22:43:06
"Shawn O. Pearce" [off-list ref] wrote:
Uwe Kleine-K??nig [off-list ref] wrote:
quoted
commit-tree failed:
Warning: commit message does not conform to UTF-8.
This was starting to bug me, so I went off and found it. OK, well
the encoding error anyway. git-gui incorrectly claimed commit-tree
failed when it didn't. But besides the point, this is the bad line:
I have had trouble in the past with trying to use that magic
-encoding flag on fconfigure to get Tcl's file channels to perform
encoding work for me. Seems it doesn't work right or something...
so other parts of git-gui (e.g. the filename handling parts)
perform the convertfrom/convertto logic on their own... but the
commit message handling parts didn't.
They do now (git gui 0.6.5-11-gf20db5f).
Can you please test my current master branch and see if that fixes
things for you? repo.or.cz, git-gui.git...
If it does, I'm probably going to tag that as 0.6.6 and let Junio
cut 1.5.2 with that release.
--
Shawn.
commit-tree failed:
Warning: commit message does not conform to UTF-8.
This was starting to bug me, so I went off and found it. OK, well
the encoding error anyway. git-gui incorrectly claimed commit-tree
failed when it didn't. But besides the point, this is the bad line:
I have had trouble in the past with trying to use that magic
-encoding flag on fconfigure to get Tcl's file channels to perform
encoding work for me. Seems it doesn't work right or something...
so other parts of git-gui (e.g. the filename handling parts)
perform the convertfrom/convertto logic on their own... but the
commit message handling parts didn't.
They do now (git gui 0.6.5-11-gf20db5f).
Can you please test my current master branch and see if that fixes
things for you? repo.or.cz, git-gui.git...
Works fine. I pulled in your changes[1] and it worked with one test
case. (I amended the merge and added a sign-off. ;-)
Best regards and thanks
Uwe
[1] Thanks to gitster in #git to explain how to do it. It's as easy as:
git pull -s subtree git://.../git-gui.git master
--
Uwe Kleine-König
http://www.google.com/search?q=gravity+on+earth%3D