Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SVN中重新整合已重新整合并回滚的分支?_Svn_Svn Reintegrate - Fatal编程技术网

如何在SVN中重新整合已重新整合并回滚的分支?

如何在SVN中重新整合已重新整合并回滚的分支?,svn,svn-reintegrate,Svn,Svn Reintegrate,我们做了以下丑陋的事情: 那么,我们如何才能实现另一个重新整合 到目前为止我尝试了什么 好吧,显而易见的合并——失败得很惨 创建一个补丁并将其应用于主干(这应该可以工作,因为它只区分没有svn的文件…) 创建另一个分支@trunk r101并合并来自第一个分支的所有更改-严重失败:) 编辑: trunk的合并信息不显示所需分支的任何合并修订版(因为我已使用r101将其回滚)这应该只是我遇到的一个问题的特例: 我建议尝试回滚r101 编辑 好吧,假设您的回购协议设置如下: svnadmin

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

那么,我们如何才能实现另一个
重新整合

到目前为止我尝试了什么

  • 好吧,显而易见的合并——失败得很惨
  • 创建一个补丁并将其应用于
    主干
    (这应该可以工作,因为它只区分没有svn的文件…)
  • 创建另一个分支@trunk r101并合并来自第一个分支的所有更改-严重失败:)
编辑:


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

这应该只是我遇到的一个问题的特例:

我建议尝试回滚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
。此外,重新整合也同样有效:
svn merge——重新整合file:///home/adam/tmp/mergetest/branches/branch 中继线
。由于您的重新整合已回滚,因此再次简单地重新整合应该没有问题。如果它不起作用,我的设置肯定与您的设置不匹配,因此一定存在其他一些细节问题。

Hmmm,这可能比我最初认为的更棘手。等我睡一觉后再考虑。如果您感到绝望,您可以尝试手动编辑合并信息,但您必须确保您知道自己在做什么。说到这里,你能为trunk发布当前的合并信息吗?