0

在 SVN 中,考虑:

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

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

编辑:

所以整个过程是:

  1. 创建工作目录签出最新分支a files/directories(Tortoise checkout)
  2. 执行(在此目录中使用 Tortoise)Merge/"Reintegrate a branch,在菜单中指定分支 b
  3. Tortoise 将合并到文件/目录中(是否在我的工作目录中?(还没有在 SVN 服务器中?)
  4. 可能会报告合并冲突...需要由开发人员处理...
  5. 在看似成功的合并之后,我执行了一个 SVN 提交,它进入branch a

这些步骤是否准确,或者合并操作是否会自动将更改的文件提交到 SVN 服务器?如果是这样,如果发生合并冲突,会发生什么?

4

2 回答 2

4

你会经常从分支 A 合并到分支 B。

svn 合并 url://brancha url://branchb

在分支 B 中完成开发后,您将一次(仅一次)将分支 B 重新集成到分支 A。重新集成分支 B 后,您必须停止在分支 B 上工作。

svn merge --reintegrate url://branchb

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

于 2012-06-06T21:22:04.517 回答
1

根据您的最后评论,您提到的步骤是完全正确的。

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

您总是在合并后手动提交更改。:-)

希望这可以帮助。

于 2012-06-13T12:19:57.297 回答