How can I fix the SVN import line endings error?

xsl picture xsl · Apr 23, 2012 · Viewed 11.9k times · Source

I have to import an huge SVN repository that I have to transfer from one server to another. So I exported it from the old server:

svnadmin dump . > archive.svn

and imported it on the new one:

svnadmin load . < archive.svn

In the middle of the import process I got this error:

Cannot accept non-LF line endings in 'svn:ignore' property

How can I fix this? I have full control of both servers.

Answer

ventura10 picture ventura10 · Apr 2, 2013

You have 2 options, repair the source or disable prop validation.

Repairing the source (svn:log and svn:ignore):

sed -e '/^svn:log$/,/^K / s/^M/ /' -e '/^svn:ignore$/,/^PROPS-END$/ s/^M/\n/' archive.svn > repaired-archive.svn

svnadmin load . < repaired-archive.svn

Where ^M is a control character, that means 0D in hex. To get it use ^V^M (control V control M) instead ^M (circumflex M or control M)

Disabling prop validation:

svnadmin load --bypass-prop-validation . < archive.svn