Subversion:定期将供应商的源代码合并到主线中 [英] Subversion: Merging a vendor's source code releases into mainline at regular intervals

查看:86
本文介绍了Subversion:定期将供应商的源代码合并到主线中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我会定期收到供应商软件的新版本,以压缩包中的源代码形式提供,而且我无权访问供应商的源代码存储库.我们在发行人的发行版之间对供应商的源代码进行了更改.我们的更改未合并到其发行版中,但是我需要将其发行版中的更改合并到我的主线中.

At regular intervals, I receive a new release of a vendor's software, delivered as source code in a compressed package, and I don't have access to the vendor's source code repository. We make changes to the vendor's source code between their releases. Our changes do not get incorporated into their releases, but I need to merge changes from their releases into my mainline.

我的存储库布局如下:

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

我遵循的工作流程是:

  1. 我添加了 Vendor X版本1.0 作为分支,然后将其复制到了主干.
  2. 我们对中继上的源代码进行了一些更改,然后收到了 Vendor X版本1.1 .
  3. 我将 Vendor X版本1.1 添加到了分支机构.现在,我想将 Vendor X版本1.1 合并到主干中.
  1. I added Vendor X release 1.0 as a branch and then copied it to the trunk.
  2. We made some changes to the source code on the trunk and then received Vendor X release 1.1.
  3. I added Vendor X release 1.1 to a branch. Now, I would like to merge Vendor X release 1.1 into the trunk.

我遇到的问题是,无论我如何尝试,最终都会导致合并而导致主干没有更改,或者每个文件都报告为树冲突.

The problem I am having is that no matter how I try this, I end up with either the merge resulting in no changes to the trunk, or every file being reported as a tree conflict.

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

I think that I would like to somehow do the following: tell Subversion to merge each file without consideration for the revision number of the file. I think that Subversion is reporting a tree conflict for each file, because the files did not originate from the same point in the revision history. However, in many cases these files are identical.

在此先感谢您的帮助.

推荐答案

在非Subversion术语中,您要将Vendor X版本1.0和Vendor X版本1.1之间的更改集成到您的中继中.

In non-subversion terms, you want to integrate the changes between Vendor X release 1.0 and Vendor X release 1.1 into your trunk.

我将只创建一个Vendor X分支,并使用标签来标识版本号.每当收到新的供应商X版本时,请签出分支,将新版本的文件复制到您的工作目录中,并根据需要应用svn addsvn delete并提交.对于供应商X在两个版本中所做的所有操作,Subversion现在具有正确的差异信息.之后,您可以将最后两个供应商版本(即供应商X分支中的最后一个tweo修订版)之间的更改与主干合并.

I would create just one Vendor X branch and use tags to identify version numbers. Whenever you receive a new vendor X version, checkout the branch, copy the new version's files into your working directory, apply svn add and svn delete as appropriate, and commit. Subversion now has the correct diff information for everything vendor X did during the two releases. After that, you can merge the changes between the last two vendor releases (aka the last tweo revisions in the vendor X branch) with the trunk.

这篇关于Subversion:定期将供应商的源代码合并到主线中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆