On 7/26/2011 8:44 AM, Stefan Sperling wrote:
On Tue, Jul 26, 2011 at 08:35:31AM -0700, David Chapman wrote:
If the processor architectures differ, copying the repositories
directly won't work unless changes to the repository format have
been made recently. I had a problem when copying a repository from
a 64-bit x86 machine to a 32-bit x86 machine, for example. (I think
this was in 1.4.x, but it was years ago and I don't remember the
details.) Solaris 10 suggests a SPARC machine as the source.
Because of the byte ordering difference, I'd expect major trouble
when copying a repository directly from a SPARC machine to an x86
machine.
This only applies to repositories using the BDB backend.
There is no such problem with the FSFS backend because it uses flat files.
The bad copy was a FSFS repository. IIRC, the problem was writing
binary data (e.g. integers) into files. The 64-bit machine wrote 64-bit
integers into some of the files, and the 32-bit machine got confused.
Unless FSFS writes no binary data into its files, or else it is careful
to do so in a platform-independent matter, there will be trouble. Not
being an official Subversion developer, I can't comment on the internals
of the FSFS format, but I would be very surprised if its files were
truly platform-independent because this would slow down repository
operations. Given that there is an official portable transfer file
format (the dump file), I would expect the Subversion developers to use
more-efficient non-portable code within the repository files.
You can certainly try to copy one repository directly from one platform
to the other, then run "svnadmin verify". That *should* tell you if
there was a problem. But I wouldn't trust anything worth money on an
inter-platform repository file copy.
--
David Chapman dcchap...@acm.org
Chapman Consulting -- San Jose, CA