0

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

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

问题是当我使用“重新集成合并”时,文件被复制到文件夹中,但没有在存储库中更新。然后我必须再次签入,现在我的主干中有一个修订版 3 文件,我的分支中有一个修订版 2 文件。

这是它的工作原理吗?两个文件夹中不应该有一个修订版 2 相同的文件吗?或者至少是相同的修订版 3?

4

3 回答 3

2

这不仅仅是它的工作原理,它是一个功能!通过强制您显式提交合并,可以轻松还原所有更改并在合并时出现严重错误时重新开始。合并始终是一个工作副本操作,允许您在将更改施加到您的团队之前查看更改(并测试它们!)。

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

于 2014-01-09T15:02:31.597 回答
0

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

于 2014-01-09T14:36:49.250 回答
0

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

于 2014-01-09T14:38:27.573 回答