【问题标题】:TFS project working simultaneously on 2 TFS serversTFS 项目在 2 个 TFS 服务器上同时工作
【发布时间】:2011-05-18 05:25:57
【问题描述】:
我们有 2 个开发团队,一个团队负责 TFS2005,另一个团队负责 TFS2010。
这是 SAME 项目,但一个团队继续开发 .net framework1.1 项目版本,另一个团队继续开发 .net framework4.0 项目版本。
我们只有源头控制(没有工作项目和等等...)
第一次从 TFS2005 导入到 TFS2010 到 TPC X 后,我们可以在一周后只导入过去一周的变化吗?
我们可以将(TFS2005 到 TFS2010)导入到同一个 TPC X(已经存在)吗?
可以自动签入到 2 个 TFS 服务器吗?
【问题讨论】:
标签:
tfs
branching-and-merging
【解决方案1】:
如果可能,我会避免将您的代码库拆分到 2 台服务器上。将代码移入 TFS 2010 后,我将使用分支来区分代码的 .net 1.1 版本和 .net 4 版本。
在分支中拥有代码后,您可以定期合并代码以保持版本一致。
您需要考虑哪种分支策略最适合您的情况,请阅读guidance on codeplax 以帮助您做出决定。您的分支策略将在很大程度上取决于您的代码的 .net 1.1 版本是否正在积极开发,或者它是否只是处于维护/错误修复模式。
如果您使用 VS 2003 进行 .net 1.1 开发,您可以使用 MSSCCI provider 为您提供基本的 TFS 集成。
【解决方案2】:
从您的描述看来,您已经在两个单独的 TFS 服务器中拥有该项目的两个版本。我同意 James 的观点,最好不要将代码库拆分到两个版本控制系统中,但有时我们最终会遇到这种情况。
您是如何从 TFS2005 导入到 TFS2010 的?
这是一个重要的问题。 TFS2010 无法将单个团队项目从一台服务器导入到另一台服务器。您可以导入整个 TPC(团队项目集合)。我只知道两种方法:
A) 认真看待 TIP(TFS 集成平台)。它并不完美,但它旨在满足您的需求。
B) 您可以进行快照迁移。基本上这意味着从 VS2005 获取最新信息,签入到 VS2010(在任何地方),然后将所有以前的历史记录保留在 VS2005 中。
如果 TIP 对您不起作用或被认为风险太大或缺少关键信息,请了解 TFS2010 是否可以导入 TFS2005 数据库以迁移您的 TFS2005 团队项目集合。如果是,则制作 TFS2005 版本控制数据库的副本,然后将整个团队项目集合导入 TFS2010,然后从该集合中删除不需要的其他 TFS2005 项目。您可以将此称为您的 TFS2005 存档团队项目集合,并在需要时保留完整的保真度版本历史记录。我做了几次从 TFS2008 到 TFS2010 的迁移。这很重要,但可行。
迁移方法:
计划 A:将所有内容迁移到 TFS2010 并尽快淘汰 TFS2005。您可以将 2005 存档,或者如果您觉得有必要将其移至虚拟机...但您确实希望将管理工作减少一半,并通过将所有内容移至 TFS2010 来获得 5 年的改进。
B 计划:建立一个允许您在两台服务器之间进行集成的系统,直到您最终可以淘汰 TFS2005。仅在绝对必要的情况下停留在这种情况下,并升级您需要解除阻止将所有内容移动到 TFS2010 的任何内容。
问答:
- 在我们第一次从TFS2005 到TFS2010 到TPC X 导入之后,我们可以在一周后只导入过去一周的变化吗?
答:应该是可行的,但导入的保真度取决于您的导入方式。
如果您通过将最新版本的 VS2005 代码签入 VS2010 来进行“快照迁移”,那么您可以签出第一个快照,在代码上重复一个新快照,然后合并更改。快照迁移过程的BIG 缺点是您会丢失 TFS2005 中的所有元数据,包括更改历史记录、标签、签入 cmets...
如果您使用 TFS 集成平台,希望大多数内容和元数据都会传输。这里的巧妙之处在于,一旦您定义了同步规则并运行它,您就可以简单地重新运行相同的迁移,只需稍作更改。注意标签和变更集元数据是如何传输的。
- 我们可以将(TFS2005 到 TFS2010)导入到同一个 TPC X(已经存在一个)吗?
TFS 集成
答:这应该不是问题。 TFS 集成平台或签入“快照迁移”可以针对任何文件夹路径。我假设目前这两个代码库之间没有建立正式的分支关系。因此,我强烈建议将导入的文件签入单独的文件夹,将其转换为分支(如果导入过程尚未完成),然后建立对现有 TFS2010 项目分支有意义的任何分支关系。如果这两个项目之间没有共享代码,那么我会将它们的分支分开。
- 可以自动签入到 2 个 TFS 服务器吗?
答:这是 TIP(TFS 集成平台)的承诺。我个人在尝试将完整的源历史记录从一个 TFS2010 服务器迁移到另一个时遇到了困难,但这个问题的很大一部分是跨越 6,000 多英里和 3 个防火墙的网络问题。
从阅读此博客开始,它是关于 TIP 和当前限制的均衡讨论的 cmets:TFS Integration Platform Updated (Mar ‘11)
祝你好运!