SVN从分支合并到主干

时间:2014-01-09 13:12:10

标签: svn smartsvn

我是SVN的新手,我们使用StarTeam 5.4,我们将尽快更改为SVN。我正在测试SmartSVN作为客户端。

我创建了一个存储库,一个包含一个文件的主干和一个分支。在分支中,我更改了文件,将其签入,现在我正在尝试将此更改“正式化”为中继。

问题是当我使用“Reintegrate Merge”时,文件被复制到文件夹,但未在存储库中更新。然后我必须再次检查它,现在我的主干中有一个Revision 3文件,我的分支中有一个Revision 2文件。

这是怎么回事?它不应该在两个文件夹中有一个修订版2相同的文件吗?或者至少是相同的修订版3?

3 个答案:

答案 0 :(得分:2)

这不仅仅是它的运作方式,它还是一个特色!通过强制您显式提交合并,可以很容易地还原所有更改,并在合并时出现严重错误时重新开始。合并始终是一种工作复制操作,允许您在对团队进行更改之前查看更改(并测试它们!)。

此外,SVN不会跟踪文件版本。 SVN在任何分支或标记上跟踪存储库中所有文件的一系列快照。这些快照称为“修订版”。您没有“主干上的修订版3文件”和“分支上的修订版2文件”。您在trunk上有一个文件,在分支上有一个文件。这两个文件都存在于修订版2和修订版3中。在主干上,对文件的最后一次更改是修订版3.在分支上,对该文件的最后一次更改是修订版2.在SVN中,说“在技术上不正确”文件的第4版“,虽然这比”修订版4中出现的文件更容易说“,这就是人们在大多数情况下会说的内容。

答案 1 :(得分:0)

这是如何工作maiconmm是的。 http://svnbook.red-bean.com/涵盖了这一点,所以我不会解释,解释为什么混合修订是正常的,甚至是有用的(包括限制)。我建议您在习惯SVN时引用它。

答案 2 :(得分:0)

您可以使用此实用程序自动将svn从一个分支合并到另一个分支http://github.com/liveperson/Auto-Merger