subversion-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Ebermann <Paul-Eberm...@gmx.de>
Subject Re: svn checkout - special characters in file name are not encoding properly
Date Wed, 11 Aug 2010 09:11:25 GMT
Vincent Lefevre wrote:
> On 2010-08-10 20:59:00 +0200, Stefan Sperling wrote:
>
>> The native encoding is determined by the locale, but that does not matter.
>> The point is that, wherever encoding configuration happens to come from,
>> if the configured encoding cannot represent the character string stored
>> as UTF-8 in the repository, what is Subversion supposed to do? It cannot
>> really do anything with a filename it cannot represent in the character
>> set configured by the user, other than throwing an error.
> 
> For filenames stored on disk, they (all of them) can be encoded using
> UTF-8. Remember, filenames on a POSIX system are just sequences of
> bytes. For what is output to the terminal, non-representable
> characters can be displayed by a replacement characters such as "?".
> This can still be better than an error.

The thing is, users are using other tools than SVN to work with the files, too.

So if I look at my directory with a file manager, I want my filenames to be readable (and
renameable). The idea is that usually the user uses for one working copy always the same
locale for all tools, so all filenames look same.

Of course this is not possible if some characters in the repository simply do not exists
in our current locale charset. Maybe Subversion (or APR) could support (optionally by
command-line-flag and/or config option) some reversible replacement encoding, like
"B@E4@lle.txt" for "Bälle.txt" if the current charset does not contain "ä". (And
such-named files would be allowed for add/import etc., resulting in "Bälle.txt" in the
repository.)

(This @-encoding is only an example, not really a proposal - this could conflict with
other uses of @.)


Paul (who uses a UTF-8-locale personally)

Mime
View raw message