应该使用什么SVN程序将分支B合并到分支A上?

时间:2012-06-06 20:38:12

标签: svn tortoisesvn visualsvn-server

在SVN中,请考虑:

  • 分支A从主干分支
  • 分支B稍后从分支A分支(被认为是临时开发分支)
  • 请注意,两个分支都不是主干。
  • 分支中涉及许多目录和子目录(包含文件)
  • 分支A和分支B都进行了开发。
  • 在分支B的开发过程中,引入了一些新文件,仅在分支B
  • 分支A在同一时间修改了一些文件。这些更改未应用于分支B.
  • 希望将B(多个修订版)和B开发期间引入的新文件的更改合并到分支A上(不会丢失在开发B时对A进行的更改)。

应该使用什么SVN程序将分支B合并到分支A上?

编辑:

所以整个过程将是:

  1. 创建一个工作目录,检出最新的分支a files/directories(Tortoise checkout)
  2. 执行(在此目录中使用Tortoise)合并/“重新整合a branch,在菜单中指定分支b
  3. Tortoise将这个合并到文件/目录上(是否在我的工作目录中?(还没有在SVN服务器中?)
  4. 可能会报告合并冲突......需要由开发人员处理......
  5. 看似成功合并后,我执行SVN提交,进入branch a
  6. 这些步骤是准确的还是合并操作会自动将更改的文件提交给SVN服务器?如果是这样,如果发生合并冲突,会发生什么?

2 个答案:

答案 0 :(得分:4)

您经常会将分支A合并到分支B.

  

svn merge url:// brancha url:// branchb

当在分支B中完成开发时,您将重新整合一次(仅一次)分支B进入分支A.重新整合分支B后,您必须停止在分支B上工作。

  

svn merge --reintegrate url:// branchb

http://blogs.collab.net/subversion/2008/07/subversion-merg/

答案 1 :(得分:1)

根据您的上一条评论,您提到的步骤完全正确。

关于您的下一个问题,svn只会帮助您合并更改,并且不会在svn服务器上为您提交更改。

您在合并后始终手动提交更改。 : - )

希望这有帮助。