You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Branko Čibej <br...@wandisco.com> on 2014/01/23 13:57:31 UTC

"svn relocate" corrupts the working copy

After relocating the working copy and performing a local copy, "svn
info" crashes. I tested this with both trunk and 1.8.5, on OSX. I
haven't had time to try to track this down yet.

See the attached reproduction script and output.

-- Brane

-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane@wandisco.com

Re: "svn relocate" corrupts the working copy

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@wandisco.com> writes:

> svnadmin create repo
> svn mkdir -mm file://`pwd`/repo/A
> svn co file://`pwd`/repo wc
> mv repo repo2
> svn relocate file://`pwd`/repo file://`pwd`/repo2 wc
> svn cp -rhead wc/A wc/X
> sqlite3 wc/.svn/wc.db "select local_relpath, repos_id from nodes"
> |2
> A|2
> X|1
>
> The copy is storing the wrong repos_id for the destination.

The copy does a temporary checkout to wc/.svn/tmp/svn-xxxx where the
repos_id of 1 is correct.  The subsequent wc-to-wc copy fails to adjust
the repos_id.  We need to determine the required repos_id and pass it
through to db_op_copy.

-- 
Philip

Re: "svn relocate" corrupts the working copy

Posted by Philip Martin <ph...@wandisco.com>.
Branko Čibej <br...@wandisco.com> writes:

> After relocating the working copy and performing a local copy, "svn
> info" crashes. I tested this with both trunk and 1.8.5, on OSX. I
> haven't had time to try to track this down yet.

A shorter recipe:

svnadmin create repo
svn mkdir -mm file://`pwd`/repo/A
svn co file://`pwd`/repo wc
mv repo repo2
svn relocate file://`pwd`/repo file://`pwd`/repo2 wc
svn cp -rhead wc/A wc/X
sqlite3 wc/.svn/wc.db "select local_relpath, repos_id from nodes"
|2
A|2
X|1

The copy is storing the wrong repos_id for the destination.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*