Re: Bug: UTF-16, UCS-4 and non-existing encodings for git log result in incorrect behavior
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Nov 12, 2008, 16:42 UTC
- Message-ID
- <alpine.DEB.1.00.0811121740120.30769@pacific.mpi-cbg.de>
- In-Reply-To
- <bb6f213e0811120817i20d5c0ajf0c9e289c11387a6@mail.gmail.com>
Hi,
On Wed, 12 Nov 2008, Alexander Gavrilov wrote:
Show 36 quoted lines
> On Wed, Nov 12, 2008 at 7:15 PM, Johannes Schindelin > <Johannes.Schindelin@gmx.de> wrote: > > > [re Cc:ing the list] > > > > On Wed, 12 Nov 2008, Constantine Plotnikov wrote: > > > >> On Wed, Nov 12, 2008 at 5:22 PM, Johannes Schindelin > >> <Johannes.Schindelin@gmx.de> wrote: > >> > > >> > On Wed, 12 Nov 2008, Constantine Plotnikov wrote: > >> > > >> >> If UTF-16[BE|LE] or UCS-4[BE|LE] encodings are used with git log, > >> >> the git completes successfully but commit messages and author > >> >> information are not shown. I suggest that git should fail with > >> >> fatal error if such zero producing encoding is used. > >> >> > >> >> If the incorrect encoding name is used, the git log does not > >> >> perform any re-encoding, but just display commits in their native > >> >> encoding. I suggest that git should fail with fatal error in this > >> >> case as well. > >> > > >> > Have you set the correct encoding with i18n.commitEncoding? If > >> > not, you should not be surprised: Git's default encoding is UTF-8, > >> > and that fact is well documented, AFAICT. > >> > > >> Commit encoding is set correctly. The problem is that git log and git > >> show do not support the *output* encodings UTF-16 and UCS-4 and > >> silently fail in that case instead of reporting the error. > > > > That looks more like an iconv bug to me. I assume you are using Windows? > > Iconv has no way to know that git cannot work with ASCII-incompatible > encodings, and UTF-16 is incompatible, because it fills the output with > loads of zero bytes. Git both truncates messages on these bytes, and > forgets inserting them in strings that it produces itself.
Ah, I thought that the issue was that Git would not handle commits in that encoding correctly. Instead, it appears that Git cannot work with UTF-16 _displays_.
Yep, I would have expected that.
Ciao, Dscho