【问题标题】:TFS: Best way to integrate a new code dropTFS:集成新代码下降的最佳方式
【发布时间】:2014-03-11 10:46:48
【问题描述】:

我们的项目基于另一个工作室的技术,我们对其进行了修改以满足我们的需求。我们使用 TFS,他们使用 Perforce。他们刚刚发布了他们的产品,因此,他们有很多我们想要为我们的项目选择的新功能。我的任务是将这个新代码集成到我们的代码库中。

我对 Perforce 非常熟悉,因为我已经使用了多年,但是我对 TFS 的经验要少得多(所有工作都将在其中进行),所以我很确定我的方法将是蛮力的,乏味的,而且非常耗时。希望你们中的一些人能够提出“正确的方法”来做到这一点。 :)

这是我正在做的事情:

  1. 在 TFS 中查看整个项目
  2. 将整个新代码复制到旧代码上
  3. 将我们对他们的代码库所做的所有更改合并到这个新的 vanilla 代码下降(YIKES!)
  4. 入住
  5. 签入的代码库和我从 Perforce 同步的 vanilla drop 之间的文件夹差异并删除项目中不再存在的所有文件
  6. 入住
  7. 利润

如您所知,这会很“有趣”。我已经到了第 3 步,我意识到我不知道如何以一种不需要对项目中的每个 friggin 文件进行差异化(接近 3000)的方式来实际执行此合并。我希望能像您在同步后一样,了解我需要解决的所有冲突。

此外,即使我对每个文件进行了蛮力 diff,我也不相信这会很好地解决问题。 :) 移动、添加、删除等文件将成为一场噩梦。我们想要完成的大部分工作是从我们上次同步时项目中更早的状态重构他们旧的凌乱的早期代码。

我必须相信 TFS 可以使这项任务变得更加简洁,因为我正在尝试做的事情并不少见。你们有什么建议?

谢谢!

【问题讨论】:

    标签: visual-studio-2012 tfs


    【解决方案1】:

    我的建议是在 TFS 中有 2 个分支,一个是来自其他团队的未修改代码(我们称之为 DEFAULT)。然后创建一个分支(让我们称之为 CUSTOM)。您将在 CUSTOM 中进行更改。

    这样,当其他团队发布新代码时,您只需在 DEFAULT 上获取最新版本,删除本地工作区文件,复制新代码,然后让本地工作区功能执行此操作并检测所有必要的待处理更改(添加、删除、编辑),然后签入更改。然后您可以合并 DEFAULT->CUSTOM 并解决任何冲突。

    由于你现在没有这个结构设置,第一次设置会有点痛苦,但将来应该会让生活更轻松。

    假设您拥有上一版本中未修改代码的副本,您可以创建 DEFAULT 分支并将其签入。然后分支出 CUSTOM 分支。然后 Get Latest on CUSTOM,删除所有本地工作区文件,并复制当前修改的代码。 VS 应该检测所有必要的未决更改,然后将其签入。

    现在您可以执行更新 DEFAULT 的过程,并合并到 CUSTOM 以获取新版本。因为 TFS 将跟踪历史记录,所以您应该只需要处理实际冲突,而不是经历每一次更改。您当然必须进行充分的测试,以确保新代码和您的自定义仍然可以很好地协同工作。

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 2018-12-04
      • 2013-04-25
      • 2023-03-04
      • 2010-10-15
      • 1970-01-01
      • 2010-09-09
      • 2010-10-24
      • 2010-11-30
      相关资源
      最近更新 更多