[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

svn merge bug

From: Christopher Read <cread_at_thoughtworks.com>
Date: 2007-06-07 20:03:38 CEST

Greetings...

We stumbled across an interesting merge bug that appears to be a new
feature of version 1.4. To replicate, do the following:

> cd /tmp
> svnadmin create reposA
> svnadmin create reposB
> mkdir work
> cd work/
> svn co file:///tmp/reposA
> cd ..
> svn co file:///tmp/reposB
> cd reposA/
> mkdir trunk
> svn add trunk
> svn commit
> cd ../reposB/
> mkdir trunk
> svn add trunk/
> svn commit
> cd ../reposA/trunk
> touch existing.txt
> svn add existing.txt
> svn commit
> cd ../../reposB/trunk/
> svn merge -r 1:HEAD file:///tmp/reposA/trunk .

At this stage, if you're using version 1.3.2 (or doing --dry-run with
1.4.3), it looks good. However, with version 1.4.3 we get:

svn: Copyfrom-url 'file:///tmp/reposA/trunk/existing.txt' has different
repository root than 'file:///tmp/reposB'

To work around the 1.4 problem, we have to do:

> touch existing.txt
> svn add existing.txt
> svn merge -r 1:HEAD file:///tmp/reposA/trunk .
A existing.txt

Which kinda works, but is not very elegant.

We've done some digging around the code, and have noticed that
svn_wc_add_repos_file was re-written between 1.3 and 1.4, so we suspect
the problem is in there somewhere...

Thanks,

Chris

Received on Sat Jun 9 16:13:07 2007

This is an archived mail posted to the Subversion Users mailing list.