2

我们做了以下丑陋的事情:

svn历史

那么,我们怎样才能实现另一个reintegrate呢?

到目前为止我尝试了什么?

  • 好吧,明显的合并-残酷地失败了!
  • 创建一个补丁并将其应用到trunk(应该可以工作,因为它只区分没有svn的文件......)
  • 创建另一个分支@trunk r101 并合并第一个分支的所有更改 - 惨败:)

编辑:

主干的合并信息不显示所需分支的任何合并修订(因为我已使用 r101 将它们回滚)

4

1 回答 1

6

这应该只是我遇到的问题的一个特例:在 Subversion 中撤消反向合并,或双反向合并

我建议尝试回滚 r101。

编辑

好的,假设您的回购设置如下:

svnadmin create mergetest
svn co file:///home/adam/tmp/mergetest mergetest-co
cd mergetest-co/
svn mkdir trunk
svn mkdir branches
svn ci -m "Initial setup"

echo "Hello, world!" > trunk/test
svn add trunk/test
svn ci -m "Initial trunk changes"

svn cp file:///home/adam/tmp/mergetest/trunk file:///home/adam/tmp/mergetest/branches/branch -m "Creating branch"
svn up

echo "Change on trunk." >> trunk/test
svn ci -m "Change on trunk"

svn merge file:///home/adam/tmp/mergetest/trunk branches/branch
svn ci -m "Merge from trunk"

echo "Change on branch." >> branches/branch/test
svn ci -m "Change on branch"

svn up
svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk
svn ci -m "Reintegrate merge" # Revision 7                                                                                                                                          

svn merge -c -7 trunk trunk
svn ci -m "Undoing reintegration" # Revision 8

此时,撤消撤消工作:svn merge -c -8 trunk trunk. 此外,重新整合再次有效:svn merge --reintegrate file:///home/adam/tmp/mergetest/branches/branch trunk. 由于您的重新集成已回滚,因此再次重新集成应该没有问题。如果它不起作用,我的设置一定与你的设置不匹配,所以其他一些细节一定是问题所在。

于 2011-05-09T07:30:40.870 回答