views:

88

answers:

1

I have seen other posts on this site with answers, but I think I have a slightly different scenario. My situation is as follows:

  1. trunk and branch b1
  2. at a certain point, b1 was 'copied' to trunk as trunk was redundant and branch had all relevant functionality
  3. dev continued on b1, and trunk but part of trunks dev involved moving some files to different locations that also exist on b1
  4. so now I try to merge b1 to trunk and it complains about tree conflicts, which I understand - files missing on trunk because of the moves on trunk.

Some posts suggest this is a SVN 1.5 issue, but I'm sure I've upgraded the repos to 1.6+. How do I confirm this? And furthermore, how do I fix the tree conflict issue.

I'm using TortoiseSVN v1.6.8.

A: 

Read the SVN book. It boils down to this: When you create a branch, there can be two merge scenarios, 'catch-up' and 'reintegrate'. A catch-up merge is when you pull changes from the trunk into your branch. You can (and should) do this a lot, to make sure your branch doesn't diverge from the trunk too much. A reintegrate branch is what happens when you merge a branch back into the trunk. Because the way subversion tracks merges and changes, the branch is to be considered corrupt after this. If you need to continue working in that branch, the subversion book recommends you delete the branch right after the reintegrate merge and then re-create it from the merged trunk.

tdammers
Which we did, but the one change on the trunk of moving files to a different location is causing problems for the next merge. And I can't nuke the branch as it is our current release branch, so all bug changes until our next release will be made to that branch. I still don't get what to do in the case where a file has been moved, causing a problem for a merge from branch to trunk. Apologies if I'm missing the obvious.
jondow