在Visual Studio TFS中将一个分支作为补丁应用于另一个分支

Ala*_*ain 7 version-control diff tfs patch

我们有一个项目,我们在6.1版本的分支机构中做了一些工作.6.1分支(变更集1800)中所做的更改之一是错误修正,有人认为它足够迫切需要修补我们的6.0生产版本.

现在,在更改集1800之前和之后,对相关文件进行了更改.他们想要的只是将补丁应用于6.0.

根据http://linux.die.net/man/1/patch,似乎最好的办法是通过比较变更集1800到1799 创建一个diff文件,然后将该diff文件作为补丁应用到6.0.我甚至不知道从哪里开始在TFS中这样做.

作为一个后备计划,我总是可以手工完成变更集1800中的差异,并将它们复制到最新版本的生产中进行修补,但如果可能的话,我想做到这一点.

旁白:我理解通过仅应用差异,你冒着1799> 1800 diff中涉及的一些代码依赖于仅在当前生产版本和变更集1799之间建立的代码这一事实的风险,但这可以通过应用diff补丁后快速构建和测试生产.我们并不担心.

Noc*_*ock 11

好吧,我不确定我完全理解,但这里是:

TFS中的变更集不存储文件的绝对内容,而是存储差异(添加,删除,更改行).

如果要将版本6.1中的错误修复报告到6.0,并且此修补程序包含在更改集1800中(仅此修复程序),则只需将给定的更改集合并到版本6.0即可.在变更集1800之前所做的所有更改都不会在6.0中合并,只会合并您在此变更集中所做的操作.

进行合并时,您有两种选择:

  1. 合并从源分支到目标分支的所有更改
  2. 将选定的变更集从源合并到目标变量集.

使用第二个并指定变更集1800,你会没事的.

一些图片:

在此输入图像描述

在此输入图像描述

选择的变更集将合并.