svn - 颠覆 : Merging a vendor's source code releases into mainline at regular intervals

标签 svn version-control merge vendor-branch

我定期收到供应商软件的新版本,以压缩包中的源代码形式提供,但我无权访问供应商的源代码存储库。我们会在供应商的发布之间更改供应商的源代码。我们的更改没有合并到他们的版本中,但我需要将他们版本中的更改合并到我的主线中。

我的存储库布局如下所示:

  • /branches/Vendor X 版本 1.0
  • /branches/Vendor X 版本 1.1
  • /trunk/

  • 我遵循的工作流程是:
  • 我加了 供应商 X 版本 1.0 作为一个分支,然后将其复制到主干。
  • 我们对主干上的源代码进行了一些更改,然后收到了 供应商 X 版本 1.1 .
  • 我加了 供应商 X 版本 1.1 到一个分支。现在,我想合并 供应商 X 版本 1.1 进入后备箱。

  • 我遇到的问题是,无论我如何尝试,最终要么合并导致主干没有更改,要么每个文件都被报告为树冲突。

    我想我想以某种方式执行以下操作:告诉 Subversion 合并每个文件而不考虑文件的修订号。我认为 Subversion 报告每个文件的树冲突,因为这些文件并非来自修订历史记录中的同一点。但是,在许多情况下,这些文件是相同的。

    预先感谢您的任何帮助。

    最佳答案

    在非颠覆性术语中,您希望将 Vendor X 1.0 版和 Vendor X 1.1 版之间的更改集成到您的主干中。

    我将只创建一个 Vendor X 分支并使用标签来标识版本号。每当您收到新的供应商 X 版本时,检查分支,将新版本的文件复制到您的工作目录中,应用 svn addsvn delete视情况而定,并提交。 Subversion 现在拥有供应商 X 在两个版本中所做的所有事情的正确差异信息。之后,您可以将最后两个供应商版本(也就是供应商 X 分支中的最后两个修订版)之间的更改与主干合并。

    关于svn - 颠覆 : Merging a vendor's source code releases into mainline at regular intervals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683096/

    相关文章:

    svn - "Error Validating server certificate"VisualSVN 服务器上的提交后 Hook 错误

    svn - cherrypick svn merge branch to trunk,随后与 --reintegrate 合并?

    git - 如何解决与 git-svn 的冲突?

    git - 是否发生了从特定分支到 master 的 merge ?

    eclipse - 在线保存代码(Java Eclipse)

    svn - 为 Tortoise SVN 创建一个必需的注释钩子(Hook)

    version-control - 在 Perforce 中将文件的一部分提取到另一个文件保存版本历史记录的正确方法是什么?

    python - 船体在opencv中合并

    C 程序 - 在循环期间组合 2 个字符串

    MySQL 将不同表中的列合并到同一行中