[BUG] git gui and my ö

4 messages, 2 authors, 2016-06-15 · open the first message on its own page

[BUG] git gui and my ö

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:43:06

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

Re: [BUG] git gui and my ö

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.

Re: [BUG] git gui and my ö

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:
   1294     fconfigure $msg_wt -encoding $enc -translation binary
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.

Re: [BUG] git gui and my ö

From: Uwe Kleine-König <hidden>
Date: 2016-06-15 22:43:06

Hello Shawn,

Shawn O. Pearce wrote:
"Shawn O. Pearce" [off-list ref] wrote:
quoted
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:
quoted
   1294     fconfigure $msg_wt -encoding $enc -translation binary
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help