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 bra开发者_开发问答nch 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
--ignore-ancestry
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
精彩评论