[svk-devel] Error mirroring remote repository
Alan Barrett
apb at cequrux.com
Sat Mar 13 11:29:05 EST 2010
On Thu, 11 Mar 2010, Chia-liang Kao wrote:
> I am pleased to announce SVK 2.2.2, a long-delayed maintenance release
[...]
> This should work with svn 1.6's stricter filesystem transaction
> requirement which causes failures on svk mirror, and property-eol
> normalization required by svn.
I still get failures trying to mirror a remote repository. The mirror
setup is like this:
$ svk mirror --list /myrepo/
Path Source
==================================================
/myrepo/mirror svn+ssh://remotehost/remoterepo
Syncing up to revision 2454 works fine:
$ svk sync -t 2454 /myrepo/mirror
Syncing svn+ssh://remotehost/remoterepo
[nothing to do, since it was already synced]
Syncing revision 2455 fails like this:
$ svk sync -t 2455 /myrepo/mirror
Syncing svn+ssh://remotehost/remoterepo
Retrieving log information from 2455 to 2455
Transaction is out of date: '/mirror/project/trunk/somefile.sh' is out of date
Now, revision 2455 of the remote repo was a complex transaction
involving moving many files from the project/trunk directory to
project/trunk/subdir. Here's an extract from svn log (this extract
shows only 4 files being moved into two subdirectories, but actually
there were nearly 150 files moved into 8 subdirectories).
$ svn log -v -r2455 svn+ssh://remotehost/remoterepo
------------------------------------------------------------------------
r2455 | AuthorName | 2008-11-07 11:10:51 +0200 (Fri, 07 Nov 2008) | 2 lines
Changed paths:
D /project/trunk/anotherfile.txt
D /project/trunk/somescript.py
D /project/trunk/somefile.sh
A /project/trunk/bin
A /project/trunk/bin/somescript.py (from /project/trunk/somescript.py:2454)
A /project/trunk/bin/somefile.sh (from /project/trunk/somefile.sh:2454)
A /project/trunk/bin/perlscript.pl (from /project/trunk/perlscript.pl:2454)
D /project/trunk/perlscript.pl
A /project/trunk/etc
A /project/trunk/etc/configfile (from /project/trunk/configfile:2454)
D /project/trunk/configfile
Move most files from project root dir to bin, etc, and other subdirs.
------------------------------------------------------------------------
This particular revision in the remote repository was created via a
command like this:
BRANCH="svn+ssh://remotehost/remoterepo/project/trunk"
svnmucc -r2454 -m "Log message here" \
mkdir $BRANCH/bin \
mkdir $BRANCH/etc \
move $BRANCH/configfile $BRANCH/etc/configfile \
move $BRANCH/somescript.py $BRANCH/bin/somescript.py \
move $BRANCH/perlscript.pl $BRANCH/bin/perlscript.pl \
move $BRANCH/somefile.sh $BRANCH/bin/somefile.sh
It appears that some part of svk is confused by the way files were
copied and deleted in this revision.
--apb (Alan Barrett)
More information about the svk-devel
mailing list