git-svn dcommits messages not in UTF-8 charset to mod_dav_svn?
- From
- Matthias Andree <matthias.andree@gmx.de>
- Date
- May 27, 2009, 16:16 UTC
- Message-ID
- <op.uuljhmmg1e62zd@balu.cs.uni-paderborn.de>
Greetings,
I had tried to use git cvsimport and git svn to transfer a CVS repository (I have access to it) to an SVN repository (where I don't have access to the repo, so I cannot use cvs2svn or similar).
The problem is that the CVS repo had non-UTF-8 commit log messages, and I didn't bother to convert them to UTF-8. However, SVN insists on encoding filenames and log messages in UTF-8.
"git svn dcommit" (which uses the SVN Perl bindings under the hood) happily committed such a non-UTF-8 message and br0ke the repo. The actual reason is that the SVN server (https://...) is now wedged, as in:
$ svn log -r130 svn: REPORT of '/repos/!svn/bc/130': 200 OK (https://svn-serv...de)
$ svn --xml log -r130 2>/dev/null [stdout:] <?xml version="1.0"?> <log> [stderr:] svn: REPORT of '/repos/!svn/bc/130': 200 OK (https://svn-serv...de)
$ svn propget --revprop svn:log -r130 https://svn-serv...de/path/ aktuelle version (disclaimer) kopf und fu?\223zeilen etc.
While mod_dav_svn arguably shouldn't accept b0rked messages, git-svn shouldn't attempt to commit them either. It seems that the svn command line utilities validate the message format by themselves, and apparently the svn server module (likely mod_dav_svn - or are there others?) does not.
So, could a) git-svn be modified to refuse dcommiting non-UTF-8 messages? b) mod_dav_svn be modified to refuse commits/propedits/propsets with non-UTF-8 messages?
I'm sorry to say I don't have information how the SVN server is configured and which version it's running.
Thanks.
-- Matthias Andree