My basic problem is that I’m trying to re-merge trunk and a branch in Subversion 1.6, ignoring any previous merge history. My scenario is as follows:
- I have a project in trunk.
- I created a branch at branches/branch-A
- Work continue on trunk and on branch-A
- Since branch-A was a pretty big change, I have used TortoiseSVN to “Merge a range of revisions” from trunk to branch-A every week or so. There were conflicts and I manually resolved them as they occurred.
At this point, branch-A should contain everything in trunk, plus the new feature. This is mostly working but I’m seeing an issue that works in trunk and does not work in branch-A. This makes me think that I incorrectly resolved a conflict in an earlier merge.
I’d like to do a merge that ignores my previous merge history and just does a straight trunk vs. branch-A diff. When I try any merge now, it takes the merge history into account and does not show me any diffs for the conflicts I resolved earlier. Is this possible to ignore all previous merge history and just get an branch-A-vs.-trunk diff-merge? Am I going about this incorrectly?
Notes:
- I have tried to “merge a series of revisions” and “ignore ancestry” with no success.
- I do not care about keeping track of revisions in the branch. When it is reintegrated, I’m planning to do it as one big merge revision for the new feature.
- I’m trying to “reintegrate” instead of “merge revisions” at the moment but it’s going to take a while to run so I’m not sure if that’s the magic bullet.
UPDATE: The consensus seems to be that the “merge revisions” and “ignore ancestry” options should have given me what I asked for. I ran the merge again and I got a nonsense tree conflict and nothing else, so I am going to assume that I fell into an edge case somewhere where the merge was not doing what it should have. I knew approximately where the error should be so I ended up just diffing the entire trunk vs. the branch using DiffMerge, then finding and fixing the error manually. Not clean but it worked.
You can make use of the
flag which “causes the merging logic to mindlessly generate differences the same way that svn diff does, ignoring any historical relationships”. From http://svnbook.red-bean.com/en/1.5/svn.branchmerge.advanced.html