工作副本从未准备好合并

时间:2015-06-30 18:25:28

标签: svn tortoisesvn

我正在与S.V.N,Tortoise,VisualStudio,dot.net framework 4.0和C#合作。我想将一个分支合并到一个主干......说实话,我只想合并一些东西,什么!因为我正在测试SVN所以我们实际上可以将它用于我们的下一个项目,而不会踩到彼此的脚。我已经知道如何处理冲突。但我还需要知道如何合并一个分支。但无论如何我提交了所有内容并解决了所有冲突,在推送合并按钮之前仍然需要一些条件:

  1. 没有未提交的修改
  2. 单一版本的工作副本
  3. 没有换孩子
  4. 完整工作副本
  5. 关于条件3和4的最新情况,一切都很好,即使我不明白我怎么能创造这种情况。但条件1和2不合适。做什么的 ?该项目不包含任何冲突,并且已正确提交......我在这里缺少什么?

2 个答案:

答案 0 :(得分:2)

我最后在前一个窗口中找到了一些东西,就在弹出4个条件之前并阻止任何合并之前,在前一个窗口的最后一个窗口有一个选项,一个提示这个的复选框:

Perform pre-merge best practices check

我删除了该复选框的检查。没有更多的合并条件!我不知道这是不是一件好事,但它正确合并......这一次。

答案 1 :(得分:1)

  

但条件1和2不合适。为什么?

重新整合合并(在comapre中同步合并)对目标(工作副本)状态有更多要求。我相信,由于重新整合合并的性质,具有本地修改和混合修订可能导致不正确的合并。我不确定是否可以通过Subversion开发团队的更多开发工作来解决 ,但是当前的实现需要被描述的状态。

  

工作副本从未准备好合并

修复起来很简单。提交本地更改:

cd <path to working copy root>
svn commit -m "Unsaved work"
svn up

或还原它们

cd <path to working copy root>
svn revert . -R
svn up

然后你的wc准备好重新整合。

P.S。实际上,我相信它总是更好地合并(同步或重新集成)到具有描述状态的工作副本。为此我保留了单独的,始终干净的工作副本,我只使用它来进行合并。