Thread (8 messages) flat view 8 messages, 5 authors, 2016-06-15

Re: Stupid quoting...

From: David Kastrup <hidden>
Date: 2016-06-15 22:43:17

Junio C Hamano [off-list ref] writes:
Johannes Schindelin [off-list ref] writes:
quoted
quoted
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.
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help