Message ID | TY2PR01MB2427631CC07116A662AF3D38CA5C0@TY2PR01MB2427.jpnprd01.prod.outlook.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gitk branch name encoding utf-8 probrem | expand |
加藤一博 <kato-k@ksysllc.co.jp> writes: > fix branch name encoding error on gitk. > > git checkout -b '漢字' > gitk show branch name broken like this '貍「蟄' > fix this problem. Paul (the gitk maintainer), the patch text itself does look reasonable. After "git checkout -b '漢字'" to create a branch with UTF-8 character in it, "gitk" shows the branch name incorrectly, as it forgets to turns the bytes read from the "git show-ref" command into Unicode characters. is how I would phrase the log message. Thanks. > > Signed-off-by: Kazuhiro Kato <kato-k@ksysllc.co.jp> > --- > gitk | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/gitk b/gitk > index abe4805..3f61a5b 100755 > --- a/gitk > +++ b/gitk > @@ -1780,11 +1780,15 @@ proc readrefs {} { > global otherrefids idotherrefs mainhead mainheadid > global selecthead selectheadid > global hideremotes > + global tclencoding > > foreach v {tagids idtags headids idheads otherrefids idotherrefs} { > unset -nocomplain $v > } > set refd [open [list | git show-ref -d] r] > + if {$tclencoding != {}} { > + fconfigure $refd -encoding $tclencoding > + } > while {[gets $refd line] >= 0} { > if {[string index $line 40] ne " "} continue > set id [string range $line 0 39] > -- > > See this pull request > https://github.com/kkato233/gitk/pull/4 > > -----Original Message----- > From: Jonathan Nieder <jrnieder@gmail.com> > Sent: Thursday, December 5, 2019 7:29 AM > To: 加藤一博 <kato-k@ksysllc.co.jp> > Cc: git@vger.kernel.org; Paul Mackerras <paulus@ozlabs.org> > Subject: Re: [PATCH] gitk branch name encoding utf-8 probrem > > (cc-ing Paul, gitk expert) > Hi! > > 加藤一博 wrote: > >> Here is a patch to gitk branch name utf-8 probrem. > > Thanks for reporting it. Can you provide a short summary here of > the problem that we can use for a self-contained description in the > commit log? See > https://www.kernel.org/pub/software/scm/git/docs/SubmittingPatches.html#describe-changes > for more on this subject. > > May we also have your sign-off? See > https://www.kernel.org/pub/software/scm/git/docs/SubmittingPatches.html#sign-off > for what this means. > > Thanks and hope that helps, > Jonathan > >> See issue >> https://github.com/kkato233/gitk/issues/1 >> and fix it >> https://github.com/kkato233/gitk/pull/2 >> >> >> --- >> >> diff --git a/gitk b/gitk >> index abe4805..3f61a5b 100755 >> --- a/gitk >> +++ b/gitk >> @@ -1780,11 +1780,15 @@ proc readrefs {} { >> global otherrefids idotherrefs mainhead mainheadid >> global selecthead selectheadid >> global hideremotes >> + global tclencoding >> >> foreach v {tagids idtags headids idheads otherrefids idotherrefs} { >> unset -nocomplain $v >> } >> set refd [open [list | git show-ref -d] r] >> + if {$tclencoding != {}} { >> + fconfigure $refd -encoding $tclencoding >> + } >> while {[gets $refd line] >= 0} { >> if {[string index $line 40] ne " "} continue >> set id [string range $line 0 39]
On 05/12/19 12:28PM, Junio C Hamano wrote: > 加藤一博 <kato-k@ksysllc.co.jp> writes: > > > fix branch name encoding error on gitk. > > > > git checkout -b '漢字' > > gitk show branch name broken like this '貍「蟄' > > fix this problem. > > Paul (the gitk maintainer), the patch text itself does look > reasonable. > > After "git checkout -b '漢字'" to create a branch with UTF-8 > character in it, "gitk" shows the branch name incorrectly, as it > forgets to turns the bytes read from the "git show-ref" command Minor typo: s/turns/turn/ > into Unicode characters. > > is how I would phrase the log message. > > Thanks.
Hi 加藤一博, On 05/12/19 12:28PM, Junio C Hamano wrote: > 加藤一博 <kato-k@ksysllc.co.jp> writes: > > > fix branch name encoding error on gitk. > > > > git checkout -b '漢字' > > gitk show branch name broken like this '貍「蟄' > > fix this problem. > > Paul (the gitk maintainer), the patch text itself does look > reasonable. > > After "git checkout -b '漢字'" to create a branch with UTF-8 > character in it, "gitk" shows the branch name incorrectly, as it > forgets to turns the bytes read from the "git show-ref" command > into Unicode characters. This commit message would work for the git-gui patch as well (change "gitk" to "git-gui"). > is how I would phrase the log message. > > Thanks.
diff --git a/gitk b/gitk index abe4805..3f61a5b 100755 --- a/gitk +++ b/gitk @@ -1780,11 +1780,15 @@ proc readrefs {} { global otherrefids idotherrefs mainhead mainheadid global selecthead selectheadid global hideremotes + global tclencoding foreach v {tagids idtags headids idheads otherrefids idotherrefs} { unset -nocomplain $v } set refd [open [list | git show-ref -d] r] + if {$tclencoding != {}} { + fconfigure $refd -encoding $tclencoding + } while {[gets $refd line] >= 0} { if {[string index $line 40] ne " "} continue set id [string range $line 0 39]