git-svn dcommits messages not in UTF-8 charset to mod_dav_svn?
From: Matthias Andree <hidden>
Date: 2016-06-15 22:46:51
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