You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Emmanuel Blot <ma...@gmail.com> on 2009/05/22 17:48:34 UTC

svn:log issues with svnsync

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)

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 ;-(

To sum up the issue(s):
  * libserf does not seem to be able to report the issue, and fails
with a somewhat cryptic error message ;-)
  * svn server (mod_dav_svn 1.5.1 by the time of the repository
submission) has failed to detect the mix of line endings
  * 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

Cheers,
Manu

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2352954

Re: svn:log issues with svnsync

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Stefan Sperling wrote on Fri, 22 May 2009 at 19:11 +0100:
> On Fri, May 22, 2009 at 07:48:34PM +0200, Emmanuel Blot wrote:
> >   * 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.

Exactly.  Reading a repos that contains "bad" log messages works, AFAIK.

@Emmanuel: what error do you get when trying to see the log message with
'svn propget --revprop --strict' and with 'svn log'?

> 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
> 
>

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2353143

Re: svn:log issues with svnsync

Posted by Stefan Sperling <st...@elego.de>.
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