On Fri, Aug 30, 2013 at 11:39 PM, Kyle J. McKay <mackyle@xxxxxxxxx> wrote: > On Aug 30, 2013, at 11:13, Junio C Hamano wrote: >> Junio C Hamano <gitster@xxxxxxxxx> writes: >>> Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: >>>> + binmode $fh, ':utf8'; > What happens if the author name is written in ISO-8859-1 instead of UTF-8 in > the actual commit object itself? > > I'm pretty sure I've seen this where older commits have a ISO-8859-1 author > name and then newer commits have a UTF-8 version of the same author's name. > > In fact, in the git repository itself, look at commit 0cb3f80d (UTF-8) and > commit 7eb93c89 (ISO-8859-1) to see this in action. Well, then you have a problem, though it is only with old history (before introduction of "encoding" header in commit object). Better and more complete solution would be to use to_utf8() function instead of 'utf8' layer, which when finding invalid UTF-8 sequence uses $fallback_encoding (by default "latin1", i.e. ISO-8859-1) instead. In my TODO list is creating PerlIO layer ':utf8-with-fallback' which would replace all those to_utf8() calls... -- Jakub Narebski -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html