On Tue, 2004-03-30 at 12:10, Derek Mahar wrote:
> Given the following, how do I merge directory 'new' on branch1 into a
> working copy of $REPOS/project/b/trunk? Notice that *after* I created
> branch1, I renamed ancestor directory 'a' to 'b'.
>
> svnadmin create /home/svn/test REPOS=https://localhost/subversion/test
> mkdir project
> mkdir -p project/a/trunk
> mkdir -p project/a/branches
> svn import -m 1 $REPOS
> svn copy -m 2 $REPOS/project/a/trunk $REPOS/project/a/branches/branch1
> svn mkdir -m 3 $REPOS/project/a/branches/branch1/new
> svn rename -m 4 $REPOS/project/a $REPOS/project/b
> svn co $REPOS/project/b/trunk work
> cd work
> svn merge -r 3:HEAD $REPOS/project/b/branches/branch1
> Output:
> svn: REPORT request failed on '/subversion/test/!svn/vcc/default'
I assume you want the merge to (a) create the 'new' directory, and (b)
merge every change that has ever happened in that directory, right?
svn merge $REPOS/project/a/branches/branch1@2 \
$REPOS/project/b/branches/branch1@HEAD
In other words, you're asking the server to compare two directories: a
snapshot of 'branch1' when it was first created (or at least the way it
looked just before you added the new directory to it), and a snapshot of
the same directory as it looks in HEAD.
Like 'svn diff', 'svn merge' doesn't know how automatically follow copy
history. This is issue #1093, one of our high-priority bugs. In a
perfect world, you'd be able to run
svn [diff|merge] -r2:HEAD $REPOS/project/b/branches/branch1
...and diff/merge would just automatically "know" that the branch1
directory was at a different location in r2.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Mar 30 20:23:10 2004