On Fri, May 22, 2009 at 07:48:34PM +0200, Emmanuel Blot wrote:
> Hi,
>
> I'm facing an issue with svnsync and svn, about svn:log property
>
> Context:
> Trying to sync a remote (http://) repository with a local (file://) repository
> Remote server runs Linux Debian Sid w/ SVN 1.5.6
> Local machine runs Mac OS X 10.5.7 w/ SVN 1.6.2
> ~/.subversion/servers is configured to use SERF library for this connection
>
> Error message:
> "svnsync: Error retrieving replay REPORT (125005): APR does not
> understand this error code"
> which is, well, not very detailled ;-)
>
> I've reverted back to use NEON for sync'ing, and the error message
> gives the actual error:
> "svnsync: Cannot accept non-LF line endings in 'svn:log' property"
>
> It appears the remote server contains invalid log message (which has
> been produced with a hook script, I believe, but which the issue has
> not been detected by the server by the time of the original svn:log
> message submission)
Pre-1.6 versions of Subversion didn't verify the line endings properly.
> The trouble is that svn is neither able to fix or help fixing the error:
> > svn pe svn:log -r 37 --revprop http://server/repos
> svn: Inconsistent line ending style
> > svn pg svn:log -r 37 --revprop http://server/repos
> svn: Inconsistent line ending style
>
> I guess I could delete the svn:log property and re-create it, but I'd
> lose the original log message ;-(
The problem is being worked on, see issue #3404:
http://subversion.tigris.org/issues/show_bug.cgi?id=3404
For now, you will have to fix up the log messages on the source repository.
Or you can wait until issue #3404 has been resolved, at which point
we'll merge the fix into the next upcoming 1.6.x point release.
There is also a patch on the mailing list which makes the sync work
if you want to compile your own 1.6 build including the patch.
See issue #3404 for the link to the patch.
> * libserf does not seem to be able to report the issue, and fails
> with a somewhat cryptic error message ;-)
That is a separate and unfortunate problem.
See also http://subversion.tigris.org/issues/show_bug.cgi?id=3375
> * svn server (mod_dav_svn 1.5.1 by the time of the repository
> submission) has failed to detect the mix of line endings
This has been fixed in 1.6.
But when this was done we overlooked that syncing repositories
containing non-LF line endings will break.
> * svn propget refuses to give the log message: even if the message
> contains incorrect line endings, it would be nice to *retrieve* it
> from the server
You should be able to get the log message from the server, I think.
Try using svn log against the server.
Subversion 1.6 refuses non-LF line endings on the _input_ path.
So when svnsync 1.6 is trying to write to the target repository the
commit is rejected because the log message contains non-LF line endings.
Stefan
Received on 2009-05-22 20:11:47 CEST