Tortoise从开发分支合并以测试svn中的合并以及即时发布机制所需的提示



我们有十名开发人员在开发分支中进行提交。一周后,一旦所有任务都完成了,我需要将所有提交合并到测试分支,以便在标记并将发布合并到trunk之前重新建立基础。在合并一系列修订时,我遇到了麻烦,需要花费时间来解决svn冲突。当我遇到冲突时:我曾经做过以下事情:

  1. 我一直认为最新的修订版文件,例如:.r500是我需要的最新修订版,并删除它生成的扩展名,如filename.java.rev500,并删除其余的,如我的、基本文件和以前的修订版,当冲突发生时,它会生成这些文件。这是最好的做法吗。我总是在日志中使用diff,并在遇到冲突时手动检查最新版本文件,同时考虑修订。

  2. 在合并大多数冲突的更新文件时,我得到了这些符号,<lt<lt<lt<工作>>>>>。merge right。r500。执行发布时,是否需要在文件中手动删除此项。甚至有时这些符号会影响我的构建,在我手动删除它们后解决。

  3. 建议一次合并15到20个修订版吗,例如:在整个版本中包含70个文件,最好合并4到5个修订版来解决冲突并继续进行重制修订,但如果我合并了几个修订版,然后再合并其余的修订版,这会花很多时间。当我进行合并时,我应该手动编辑,或者我需要遵循的任何最佳方法和实践。

为了避免许多冲突,您只需要有一个活动的开发分支,或者每个存储库子树至少有一个开发分支(例如project1、project2(。

从您所写的内容中,我可以看到测试/主干分支也有很多变化。这就是为什么你会遇到这么多冲突。您需要将测试和主干分支的更改合并回dev。这将减少冲突的数量。

一般来说,您应该尽量避免在同一代码库上工作的许多并行活动分支,否则您将无法避免许多冲突。

此外,你可能会在开发人员身上做一些工作。如果他们在测试分支中修复了一些东西,他们的任务也应该是将其合并到开发分支。这将再次减少冲突数量。

最新更新