1

有谁知道如何将单个项目从一个 TFS 服务器导出/传输到另一个?

我有两台 TFS 服务器在工作,一个是旧的(demo1),它最初是作为演示的,后来被大量使用,而新的服务器:TFS1。

所有这一切都是在我的时间之前完成的,我只需要处理这些问题。

大多数项目不需要他们的历史/分支信息。但有一个。不幸的是,很久以前就决定移动所有项目(没有历史记录,只是从文件中直接复制),除了这个大型项目。

这意味着 TFS1 现在在一堆较小的项目中拥有自己的历史,而 demo1 仅用于大型项目。

我们现在想移动这个项目及其所有历史,(分支不太重要,因为我们可以直接复制发布代码)

有谁知道如何将单个项目从一个 TFS 服务器导出/传输到另一个?有没有可以做这种事情的工具?

4

2 回答 2

1

您应该首先查看codeplex上的TFS 集成平台。这曾经是 TFS 到 TFS 迁移工具。您可能必须对工具进行相当大的修改才能获取历史记录。我们已经有一段时间没有使用它了,但是修改起来非常简单。

或者,您可以自己相对轻松地编写这个特定用途的工具。

您需要做的是多次迁移,所有这些都基于该项目的变更集。基本逻辑将是:

  • 连接到两个 TFS 服务器
  • 从旧的 TFS 服务器获取最旧的代码。
  • 将其复制到映射到新 TFS 服务器上的工作文件夹
  • 报到。
  • 环形:
    • 获取下一个变更集
    • 遍历变更集中的文件
    • 在新的工作文件夹中编辑它们
    • 复制更改
    • 使用与旧变更集相同的注释签入

将不会保留签入人员的 ID,也不会保留任何相关的工作项,但您将拥有大部分更改。

您将不得不处理(或者,在某些情况下,忽略)特殊的签入情况(例如添加、删除、重命名、分支、合并),但这应该很容易做到。

于 2010-12-02T13:20:09.303 回答
0

几年前我经历了这个过程,我们发现了几个不受支持的工具来自动化这个过程,但是我尝试的两个工具都很糟糕,并且没有很好地转移项目。我们最终只是手动将活动项目移植到新服务器,并保留旧项目仅作为历史记录。

于 2010-12-02T00:07:44.930 回答