Subject: | svk mv /repo/mirror/path /repo/mirror/renamed-path fails to set up the /repo/mirror/renamed-path as a proper mirror |
Date: | Tue, 16 Oct 2007 19:21:09 -0700 |
To: | bug-svk [...] rt.cpan.org |
From: | Josh Partlow <jpartlow [...] opensourcery.com> |
Hi,
svk move fails to properly move a mirrored path such that it still
functions as a mirror in its new location. This might be a known
limitation, but if so I missed it in the docs.
I'm using the following versions:
jpartlow@fook:~$ uname -a
Linux fook 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686
GNU/Linux
jpartlow@fook:~$ perl --version
This is perl, v5.8.8 built for i486-linux-gnu-thread-multi
jpartlow@fook:~$ svk --version
This is svk, version v2.0.2 (using Subversion bindings 1.4.3)
Here's a bash script to reproduce the issue (some editing required)
#! /bin/bash
# The following should reproduce the error
# Replace $REPO_URL1 with an url to the first test repo
# Replace $REPO_URL2 with an url to the second test repo
REPO_URL1=
REPO_URL2=
svk depotmap mirror-test ~/.svk/mirror-test
svk mkdir /mirror-test/mirror -m 'mirror dir'
svk mirror $REPO_URL1 /mirror-test/mirror/test1
svk sync /mirror-test/mirror/test1
svk mirror $REPO_URL2 /mirror-test/mirror/test2
svk sync /mirror-test/mirror/test2
svk mirror --list
svk mv /mirror-test/mirror/test2 /mirror-test/mirror/test2-renamed -m
'test2 mirror move'
# This will fail to show the moved mirror
svk mirror --list
--------------------------------
If the mirrored path being moved is not the first one, svm:mirror does
not get set by SVK::Command::Move.
You can adjust this by hand, but it still fails as a mirror because, as
near as I can tell, svm:headrev is not set on the new path and an
SVK::MirrorCatalog.entries() request drops the entry because it has no
changeset returned from SVK::Mirror::Backend::SVNRa.fromrev().
thanks,
Josh
--
Josh Partlow - Co-Founder/Senior Developer - OpenSourcery, LLC
http://www.opensourcery.com
Message body not shown because it is not plain text.