On Sun, Mar 05, 2006 at 01:28:57PM -0800, Junio C Hamano wrote: > Fredrik Kuivinen <freku045@xxxxxxxxxxxxxx> writes: > > > I find the first format easier to read since everything is aligned (we > > always output 15 characters for the committer's name padded with > > spaces if necessary and the line numbers are padded appropriately). It > > also takes up less space on screen since it doesn't use tabs. > > Careful. The convention for names is to encode them in UTF-8, > so if you mean 15 "characters" that might be OK but if it can > truncate in the middle of a multibyte sequence of UTF-8 encoded > single character it is a no-no. > > We are talking about "casual" aligning, so I would not bring up > "proportional fonts", but even on a monospace terminal and > line-printer output, there still is the issue of byte count not > matching columns. In an i18nized environment, aligning columns > by counting bytes is a lost battle. > > In any case, please make sure you do not chop a character in the > middle at least [*1*]. > I hadn't thought of that. The code as it is now will occasionally do the wrong thing when encountered with multibyte per code point encodings. If we can assume that the name is in UTF-8 then the code posted by "linux@xxxxxxxxxxx" to the list should do the trick. However, can we assume that the name is in UTF-8? Do i18n.commitencoding only apply to the commit message, or is it intended to apply to the author/committer information too? I am beginning to think that it might be best to, by default, store the author, committer and commit messages in UTF-8. And then automatically convert from/to the users locale on input/output. (I just read the old "Rss produced by git is not valid xml?" thread where this issue was discussed quite a bit. However, I didn't see the 'store in UTF-8 by default and convert from/to users locale' method anywhere in that thread.) - Fredrik - : 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