【发布时间】:2018-08-03 13:59:52
【问题描述】:
我开始将 SVN 与客户端 Tortoise 一起使用。 现在我有以下情况:
我的主干是修订版 20,而我的分支来自修订版 10。 我只想合并修订版 20 中的错误修复。 在第 20 版中,我在 test1.txt 上有 1 个文件更改 在修订版 19 中,我还对 test1.txt 和 test2.txt 进行了更改。 test1.txt 从 19 的更改使用了 test2.txt 中的更改。 test1.txt 从 20 的变化使用了 19 的变化。
当我刚刚合并修订版 20 时,我的代码更改会出现问题。 那么如何查看是否需要合并更多修订?
有没有比在每个单独的文件上执行“显示日志”更简单的方法来检查?
我真的不想合并我的主干和分支之间的所有修订。 只有我需要修复特定错误的那个。
分支和发布策略
现在我们有 6 周的冲刺,所有开发人员都在主干上不断提交错误修复/新功能/清理等。 6 周后,我们进行了分支拆分,与之前的分支相比,现在可能会有 200 个额外的修订。
分支完成后,必须进行技术和功能测试。 由于引入了新的错误或其他原因,这可能会导致问题被拒绝。在我们向客户发布软件之前,我们需要批准所有新问题。 所以有些问题会回到开发人员那里,他们会在后备箱中修复它。 在解决所有被拒绝的问题后,需要将它们合并到分支中,以便将其发布给我们的客户。
现在您可以说为什么不在分支本身进行额外的错误修复了。我们曾经这样做,但有时我们会遇到问题,它在分支中修复但忘记合并到主干。所以在下一个分支中,错误又回来了。
此外,所有开发人员都可以连续提交所有内容而没有任何阻碍,这一点非常重要。这就是为什么所有开发人员都只在后备箱内工作的原因。
【问题讨论】:
-
好的,所以您的主干分支位于主干已向前移动的修订版 10 和修订版 20,对吗?您说主干修订版 20 中的更改使用了更改 19 中的更改。您为什么不希望所有更改都保持最新?分支的想法首先是处理特定的功能/错误/等,然后将其返回合并到主干中;因此,理想情况下,您希望让自己保持最新状态。您如何查看是否需要合并更多修订是什么意思?老实说,这真的是一个个案。
-
另外,您可以在整个结帐文件夹上显示日志,而不仅仅是单个文件。
标签: svn merge version-control tortoisesvn release