On Fri, Dec 23, 2022 at 4:35 PM Karl Berry <k...@freefriends.org> wrote:
>
>     Perhaps «export LC_ALL=C.UTF-8», if your platform has that encoding?
>
> Yes, thanks, that is one of the workarounds. But that's not my
> question.
>
> My question is, why can't svn just treat the filenames as bytes? I
> remain baffled by the need to unconditionally convert to/from UTF-8 (or
> any other encoding). Nothing in my environment ("C" in all respects)
> says to do this, as far as I know.

Because filesystems don't, and Subversion is dealing with the
underlying filesystems. It's not a Subversion specific problem, git
and even rsync have some similar problems.

The most classic example is "FILE.TXT" versus "file.txt". According to
NTFS and CIFS, those are the same filename, since those case-ware but
case-insensitive filesystems. In NFS and ext4 an xfs, they're distinct
files, and committing them distinctly on Linux versions of Subversion
causes real issues on Windows based working copies.

There is no good solution for this set of problems except not to use
case-insensitive filesystems. The issues you're describing are very
similar, and are compelling reasons to avoid mixed case and, well,
anything but plain old alphanumeric ASCII in filenames. The populare
"_", "-" ,and "." are inevitable, though "." tends to cause problems
with regex expressions.

Reply via email to