Hello,

While creating a replica of an existing repository using svnsync, I bumped
into a problem that I'm trying to figure out.

In short, I don't think SVN is to blame but that we've got a corrupted
transaction/file somewhere. I'm just trying to figure out the options and
next steps to fix this.

This is what happens: we create an empty repository and start syncing it
with a remote one. At a certain transaction, we get the error
'Decompression of svndiff data failed' and the syncing stops. If I look at
the files in that transaction (using svn log --verbose) I only see two
files with a .java_ extension. I suspect that these are text files, maybe
leftovers of a text editor.

I've done some investigations on internet and had a look at the subversion
files, especially subversion/libsvn_delta/svndiff.c. The error is linked to
the 'uncompress' function of zlib. As I understand it, svnsync is replaying
all the transactions from the original repository - or at least as much as
possible giving the properties of the revision, etc.

My questions:
- I suspect this error is related to a corrupted (or missing) file. Is this
correct?

- Is zlib used for some other purpose within svn that I don't know about
(except for zip/unzip of a file)?

- is there any way to figure out which file in that transaction is giving
this error? Or see the 'contents' of the transaction in full? svnsync
doesn't seem to have a verbose mode that tells what exactly it is doing

- Can I trust the output of 'svn diff --summarize? Since that invokes the
same file/library (svndiff.c) as svnsync.

Thanks for your ideas.

Regards,

Marc Verwerft

Reply via email to