开发者

Subversion Merge - Possible to Ignore Merge History?

开发者 https://www.devze.com 2023-03-23 19:23 出处:网络
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:

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:

  1. I have a project in trunk.
  2. I created a bra开发者_开发问答nch at branches/branch-A
  3. Work continue on trunk and on branch-A
  4. 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

0

精彩评论

暂无评论...
验证码 换一张
取 消