Hi,
I may have discovered a (minor) bug in TortoiseSVN related to control
characters in filenames.
The problem is:
* Create with Windows Explorer a file named "faa?1" where ? is the ASCII
character 1 (type Alt+1). Explorer displays this character as a square.
* TortoiseSVN is fine with this filename: add, commit, update, rename
and log work fine.
* In the other hand, "svn update" breaks svn client on Linux with a
message "svn: Can't convert string from 'UTF-8' to native encoding: svn:
faa?\226?\152?\1861".
Note that the error message is the same when $LANG/$LC_CTYPE are set to
fr_FR.iso88591 or en_US.UTF-8.
The same problem occur with all control characters from 1 to 31 and 127.
My configuration:
The svn server runs svn 1.1.4. I access the repository via svn+ssh.
I use as client TortoiseSVN 1.3.4 on Windows NT SP2 and svn 1.3.2 on
Linux Fedora Core 3.
My guess:
According to http://subversion.tigris.org/issues/show_bug.cgi?id=1954,
control characters 0x0 to 0x1f and 0x7f are not supported in filenames
by SVN (because they cannot be represented in XML) and are rejected by
svn client and server >= 1.2.
My guess is that TortoiseSVN doesn't check that. As the old svn 1.1.4
server doesn't check it either, a filename with ASCII character 1 can be
committed.
I assume that the filename gets corrupted in SVN repository, which makes
svn Linux client complain about an invalid UTF-8 character.
I believe that the problem is minor, thus my SVN server administrator
will not agree to upgrade svn.
I tried to install a pre-commit hook to reject control characters in
filenames. It doesn't work as the filename is already corrupted to
"faa??1" where ?? is the wide character 9786.
I would appreciate any hint to make this pre-commit hook work.
Best regards,
Laurent
--
Laurent Saboret
INRIA Sophia-Antipolis
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Fri Jun 23 12:45:08 2006