Re: Stupid quoting...
- From
David Kastrup <dak@gnu.org>
- Date
- Jun 20, 2007, 07:49 UTC
- Message-ID
- <86y7ifoykt.fsf@lola.quinscape.zz>
- In-Reply-To
- <7vd4zrw3k4.fsf@assigned-by-dhcp.pobox.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 7 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> 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.
And ASCII-only files. Just eradicate that dreaded Bit 7 from the world.
Show 17 quoted lines
>> 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 <filename>" 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. > > 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.
I think it would be ok to quote non-graphic characters with octal escape sequences. On ASCII-based systems, those are the characters 0x00 to 0x1f. They don't have a visual representation of their own, anyway. _IF_ they appear in filenames, it is certainly a case involved with excessive cleverness and/or garbage. I'd leave the rest alone.
> That would solve "My UTF-8 filenames are unreadable on my terminal" > problem.
But there is no point if the most primitive of mail readers does a better job than listing the directory will.
7-Bit terminals are the wrong thing to use for manipulating 8-bit-encoded files, period. And the escape sequences for 8-bit terminals are quite certain to start with characters in the 0x00 to 0x1f range.
-- David Kastrup