0

背景:我们使用特征分支策略来隔离变化。这是我的意思的快速图表。节点是分支,边是 TFS 中的父/子关系:

在此处输入图像描述

大多数时候,我们基于每个问题创建功能分支,因此有很多功能分支。

此外,出于我的目的,我只关心迁移源代码控制和变更集历史记录。我们不使用 TFS 工作项、测试用例或测试结果。

尝试 1:当我第一次运行迁移工具时,它运行了大约一整天,然后才填满我的硬盘驱动器并失败。

尝试 2:考虑到 150 多个功能分支是导致缓慢/存储需求的罪魁祸首,我想要一种仅迁移上图中我的“ecomm”团队项目集合的“dev”分支的方法。我在 opshub 工具中没有看到任何迁移单个分支的方法。

我通过创建一个新的团队项目集合“ecomm-migration”来实现这一点,然后将 $/ecomm/dev 分支到 $/ecomm-migration/dev。然后我迁移了 ecomm-migration 团队项目集合(仅包含一个分支)。

一切似乎都正常:我可以在 Visual Studio Online 上看到我的所有源文件。但是,当我浏览迁移到 Visual Studio Online 的 ecomm-migration 项目的历史记录时,历史记录丢失了:所有内容似乎都作为单个变更集提交,注释文件也反映了这一点。

为什么没有迁移变更集历史记录? 我做错了吗?我创建单独的团队项目集合以减小正在迁移的团队项目集合的大小的方法是否会干扰迁移变更集历史记录的工具能力?我的方案是否有更好的工具/选项?

我之前考虑过的一件事是使用 tf destroy 修剪死功能分支,但如果可能的话,最好避免这种激烈的、不可逆转的、破坏历史的措施。

我正在使用该实用程序的 1.1.0.005 版本。

4

1 回答 1

0

您能否也分享一下您正在使用的实用程序的版本?您可以从实用程序左侧菜单窗格上的关于按钮中找到它。

分点解决你的顾虑。

  1. 该实用程序的磁盘空间要求相当于您的项目的大小。一个很好的参考点是通过 Visual Studio 将项目的最新版本下载到您的硬盘并查看大小。因此,SIZE + 20% 将是实用程序在迁移过程中C:驱动器中所需空间的一个很好的近似值。

  2. 虽然您将开发分支分支到新项目中并没有做错任何事情。该实用程序也没有做错任何事情。当您迁移到 VSO 时,您可能只选择了新创建的项目。现在在您的 VSO 中,新项目中的数据主干存在。因此,该实用程序将 Branch -> 转换为 -> Add。当源未被选择/可用时,这是唯一明智的迁移方式。

要获得您想要的结果(实际历史),您必须选择完成分支合并的所有项目(跨项目)进行迁移。当然,这只是您在步骤 1 中所做的。

因此,如果您想保留完整的历史记录,我们建议您迁移您的原始项目。我们可以共同努力,克服您陷入的内存/空间紧缩问题。

于 2015-03-12T05:15:32.403 回答