Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: git-svn dcommits messages not in UTF-8 charset to mod_dav_svn?

From: Eric Wong <hidden>
Date: 2016-06-15 22:46:52

Matthias Andree [off-list ref] wrote:
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:
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.
This was partially fixed in commit
16fc08e2d86dad152194829d21bc55b2ef0c8fb1.  You just need to manually
specify the i18n.commitencoding in your .git/config
So, could
a) git-svn be modified to refuse dcommiting non-UTF-8 messages?
On the way is a patch that makes git-svn refuse to dcommit messages
that are malformed UTF-8 and tell the user about i18n.commitencoding.

Thanks for reminding me

-- 
Eric Wong
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help