我们有一个项目,我们已经在6.1版的分支机构中做了一些工作。 6.1分支(变更集1800)中所做的更改之一是错误修正,有人认为它非常紧急,需要修补我们的6.0生产版本。
现在,在更改集1800之前和之后,对相关文件进行了更改。他们想要的只是将补丁应用于6.0。
根据http://linux.die.net/man/1/patch,最好的办法是通过比较变更集1800到1799来创建差异文件,然后将该差异文件应用为补丁到6.0。我甚至不知道从哪里开始在TFS中这样做。
作为一个后备计划,我总是可以手动完成变更集1800中的差异,并将它们复制到最新版本的生产中进行修补,但是如果可能的话,我希望能够做到这一点。
除了: 我理解通过仅应用差异,您可能会冒这样的事实:1799> 1800 diff中涉及的一些代码依赖于仅在当前生产版本和变更集1799之间建立的代码,但可以通过快速构建轻松验证应用diff补丁后测试生产。我们并不担心。
答案 0 :(得分:11)
好的,我不确定我完全理解,但现在是:
TFS中的变更集不存储文件的绝对内容,而是存储差异(添加,删除,更改行)。
如果要报告从版本6.1到6.0的错误修复,并且此修补程序包含在更改集1800中(仅此修复程序),则只需将给定的更改集合并到版本6.0即可。在变更集1800之前所做的所有更改都不会在6.0中合并,只会合并您在此变更集中所做的更改。
进行合并时,您有两种选择:
使用第二个并指定变更集1800,你会没事的。
一些图片:
仅所选的变更集将合并。