On 2013-07-19 17:14:02 +0200, Thorsten Schöning wrote:
> And how do other tools besides svn encode file names on this USB stick
> between two different computers with two different OSes? They surely
> don't look in the svn working copy. What does cp on my Ubuntu 12.04
> and the Windows Explorer on my Windows 7 do if I copy files to FAT
> formatted USB stick? How does cp behave on a different, ext4 formatted
> USB stick on two different linux distributions? Both don't look into
> svn working copies, if cp doesn't, shouldn't svn do the same as cp
> whatever it is doing?
AFAIK, cp is a low-level command that just assumes, like standard
C library functions, that a filename is a sequence of bytes. That
is, it assumes that it is up to the user to re-encode the filenames
if need be. Then, if the bytes need to be interpreted (e.g. for FAT
I assume), it is a driver issue. I suppose that the driver expects
the encoding chosen at mount time (UTF-8 by default?), which it'll
convert to UTF-16 on the physical support.
So, I think that a user who wishes to use FAT under Linux, then
transfer to Windows would do the following:
1. Under Linux, he will do the check out using the UTF-8 encoding,
so that the driver correctly translates the characters to UTF-16.
2. Whatever locales are used, Subversion would always use UTF-8
(encoding specified in the working copy) for filenames, so that
everything is fine on the physical support.
3. The user puts the USB stick on a Windows machine, which recognizes
UTF-16. I don't think that Subversion needs to cope with the
chosen encoding under Windows.
For ext4 formatted USB sticks between two Linux machines, the chosen
encoding stored in the working copy would tell Subversion how to
interpret filenames from the working copy.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Received on 2013-07-19 17:59:32 CEST