I've been running into unexpected tree conflicts when updating branches from
the trunk, after reintegrating to the trunk where and file adds or removes were
involved in the reintegrate. I expect I'm doing something wrong here, but I
haven't been able to figure out what. Can someone point me in the right
direction? Here's a simple example that demonstrates my issue.
In this case my server is 1.7.5 and my client is the MacOS client 1.6.17.
~/Development/svn-test > svn update
At revision 30.
~/Development/svn-test > cd branches/
~/Development/svn-test/branches > svn cp ^/trunk mybranch
Checked out revision 30.
A mybranch
~/Development/svn-test/branches > svn commit -m "created mybranch"
Adding branches/mybranch
Committed revision 31.
~/Development/svn-test/branches > cd mybranch/
~/Development/svn-test/branches/mybranch > touch foo
~/Development/svn-test/branches/mybranch > svn add foo
A foo
~/Development/svn-test/branches/mybranch > svn commit -m "added file foo"
Adding mybranch/foo
Transmitting file data .
Committed revision 32.
# Not necessary.. just being paranoid for demonstration purposes.
~/Development/svn-test/branches/mybranch > svn merge ^/trunk
~/Development/svn-test/branches/mybranch > cd ../../trunk/
~/Development/svn-test/trunk > svn merge --reintegrate ^/branches/mybranch
--- Merging differences between repository URLs into '.':
A foo
# Again, probably not necessary.
~/Development/svn-test/trunk > svn update
At revision 32.
~/Development/svn-test/trunk > svn commit -m "reintegrated mybranch"
Sending trunk
Adding trunk/foo
Committed revision 33.
~/Development/svn-test/trunk > cd ../branches/mybranch/
~/Development/svn-test/branches/mybranch > svn update
At revision 33.
# With this merge I expect to pick up any changes that are the results of
# any reintegration from other branches, but not changes I reintegrated from
# this branch already.
~/Development/svn-test/branches/mybranch > svn merge ^/trunk
--- Merging r33 into '.':
C foo
Summary of conflicts:
Tree conflicts: 1
~/Development/svn-test/branches/mybranch > svn status
M .
C foo
> local add, incoming add upon merge