From: Junio C Hamano Date: Wed, 20 Jun 2007 06:19:39 GMT Subject: Re: Stupid quoting... Message-ID: <7vd4zrw3k4.fsf@assigned-by-dhcp.pobox.com> In-Reply-To: Johannes Schindelin writes: >> I don't see our discourse leading anywhere: the points have been made. > > I would really, really, really like to see a solution. Alas, I cannot > think of one, other than _forcing_ the developers to use ASCII-only > filenames. > > Note that there is no convention yet in Git to state which encoding your > filenames are supposed to use. And in fact, we already had a fine example > in git.git why this is particularly difficult. MacOSX is too clever to be > true, in that it gladly takes filenames in one encoding, but reads those > filenames out in _another_ encoding. Thus, a "git add " can well > end up in git-status saying that a file was deleted, and another file > (actually the same, but in a different encoding) is untracked. By the way, the pathname quoting done by "diff" does not even attempt to tackle that. I already explained why in the thread so I would not repeat myself. Having said that, the absolute minimum that needs to be quoted are double-quote (because it is used by quoting as agreed with GNU diff/patch maintainer), backslash (used to introduce C-like quoting), newline and horizontal tab (makes "patch" confused, as it would make it ambiguous where the pathname ends), so I am not opposed to a patch that introduces a new mode, probably on by default _unless_ we are generating --format=email, that does not quote high byte values. That would solve "My UTF-8 filenames are unreadable on my terminal" problem.