【问题标题】:TFS: Creating a patch file and applying to different treeTFS:创建补丁文件并应用于不同的树
【发布时间】:2014-09-18 18:35:10
【问题描述】:

这就是我在 TFS 中尝试做的事情(CVS 中的一个微不足道的操作)

声明:

  • TFS中有2个独立的代码树,分别对应:
    • HEAD 开发
    • 稳定版。

类似这样的:

$/MyProduct/HEAD/<files>
$/MyProduct/STABLE/<files>
  • 我需要将 HEAD 中的一些更改反向移植到 STABLE 中。
  • 更改在 ChangeSet 中表示

你知道是否可以在TFS中进行以下操作:

  • 从基于 HEAD 树的 TFS 变更集编号创建补丁文件
  • 在不同的 TFS 树中应用补丁,以防稳定
  • 有合并工具来合并差异。

我现在拥有的是一堆在 TFS 之外工作的脚本 - 但在 TFS 中拥有这个功能会更好。

这个列表似乎在讨论这个,Apply specific changeset from one TFS instance to another - 但它基本上说的是没有内部方式来做我的操作。

我想知道是否有人知道其他秘密。

【问题讨论】:

  • 您需要花时间学习 TFS 如何处理分支和合并。

标签: version-control tfs


【解决方案1】:

在 TFS 中执行此操作的方法是使用分支。 HEAD 和 STABLE 都应该是具有分支关系的分支。然后,您可以随时简单地从 HEAD 合并到 STABLE,VS 合并工具将帮助您进行合并。

如果您没有将此设置作为分支,则应尽快执行此操作。我要做的是将 HEAD 中的文件备份到本地磁盘的某个位置。然后删除 TFS(和本地)中的 HEAD 文件夹。使 STABLE 成为一个分支,然后从 STABLE 分支出来以创建 HEAD。现在 HEAD 是一个与 STABLE 分支有关系的分支。

然后在您的本地工作区中,用您之前备份的文件覆盖 HEAD 文件夹中的文件。只要您使用的是 VS 2012+,您就可以使用本地工作区功能,VS 会检测到所有更改并允许您将它们签入 HEAD。

从现在开始,您可以随时将 HEAD 合并到 STABLE 中。

【讨论】:

  • 所以你是说我不能做我指定的事情,除非我明确使用分支形式。
  • 正确,TFS 不包含补丁的概念,因为当您进行分支/合并时,它们不是必需的。
  • @DylanSmith 除非您可以将一个分支与另一个合并(TFS 处理 --badly-- 分支的方式可能会发生这种情况)!
猜你喜欢
  • 2010-09-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
相关资源
最近更新 更多