【问题标题】:SVN - Merge branch changes in the TrunkSVN - 合并主干中的分支更改
【发布时间】:2012-06-02 21:29:45
【问题描述】:

我们正在开发 2 个并发版本,一个是分支,另一个是主干。并且每个分支的更改都必须合并到主干中。如果我们正在开发一个大功能,这需要很多时间。因此我想自动化这个过程,即每次分支发生变化时..这些变化与主干合并。

同样,我正在探索 SVN 并考虑编写一个脚本来执行此操作。有谁知道我怎么能做到这一点,有什么教程吗?我已经参考了各种文章,例如this

到目前为止,我还不能让它工作。

【问题讨论】:

  • 这是不可能的,因为每次合并都可能导致冲突,必须通过人类理解必须做什么来解决。
  • 是的,但不会合并命令处理吗?
  • merge命令尽其所能,但是例如,如果您删除trunk中的文件A,并在分支中的文件A中添加25行代码,SVN怎么知道它与它有什么关系这 25 行新代码?主干的设计发生了变化,分支的变化必须手动重写以适应新的设计。

标签: svn branch branching-and-merging svn-trunk


【解决方案1】:

我试着用我自己的话重复这个问题:您计划在不久的将来发布一个版本v0.1,但还有很多工作要做。发布后不久,将发布具有一些附加功能的 v0.2 - 已经在开发中。如何使用 Subversion 做到这一点?

我建议采用另一种方式:尽可能晚地为 v0.1 创建发布分支。为不属于第一个版本的功能创建一个或多个功能分支。使用svn merge ^/trunk 可以轻松地将主干更改合并到功能分支中(由于合并跟踪,效果非常好)。大部分工作完成后创建发布分支,然后将功能分支重新集成到主干中。

发布分支创建后,应该在主干上进行更改,并从主干合并到发布分支 - 所谓的樱桃采摘。它需要更多的努力,我推荐它,因为在我看来,开发应该在主干及其功能分支上进行,而不是在发布分支上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多