2015-01-09 82 views
3

我想从HISTORY从明星团队2005迁移到TFS 2010。有没有任何工具或任何可以有效降低成本的方法。我知道Timely Migration工具,但它太昂贵了。明星团队到TFS 2010有历史迁移

回答

2

没有工具可以做到这一点。你坚持支付时间迁移或自己写。从StarTeam捕获历史记录极其复杂。原因是因为这个观点在历史上看起来很像。您可以将视图回滚到某个时间点,而且这一切都很顺利,但是回滚到视图发生更改发生的每个时间点实际上都不可能使用API​​。这是因为1)并非所有事情都有审计记录,所以你不能使用审计,2)清除审计记录,3)有一个特殊功能来“回放”视图的历史记录以生成听众事件(需要MPX),但这会错过许多事件,4)当项目被共享,配置,分支等时,这些不会在项目中产生任何审计,5)即使他们这样做,迭代查看历史到第二个,通过分析差异来获取所有更改。这意味着如果您的项目一直活跃一个月,并且每次分析两种视图配置以区分它们需要5秒钟,那么实际迁移项目需要5个月,同时它将被锁定。

所以接下来的方法是建立“基线”进行比较。如果您的项目中有夜间或持续构建,或者甚至只是通过了QA认证的某些构建版本,那么使用构建标签是一个很好的起点。通过这种方式,您可以将这些基线用作差异比较的点,然后以这种方式引入历史。虽然这不像完整的历史记录那样精细,但它通过定义获得最重要的差异来迁移。

但是,请记住,即使这样做,也不会维护不同分支/视图中分支/合并点之间的链接。唯一的方法是直接进入StarTeam数据库以获取此信息。

我经历了所有这些步骤,尝试编写我自己的一套工具,从StarTeam迁移到Subversion。这很有趣,有趣,不完美,但有一些承诺,但最终还是没有完成。部分原因是因为涉及的时间远远超过我从中获得的价值。

这不可避免地带给你最重要的问题:保持完整历史的商业价值是什么?作为StarTeam管理员,经过多次与项目团队的沟通后,超过90%的时间很明显,更好的方法是切入。花时间在这里你可以开始在新系统中开展新工作,并冻结旧系统中的工作。通常可以在项目团队的停机时间很短的情况下完成。您甚至可以开始介绍生产版本的历史记录,以便在新系统中创建一个粗略的时间表。使用您现有的比较工具,无论是在TFS或BeyondCompare或其他地方,都可以复制项目源代码,文档等的每个状态,并根据需要检入或删除文件,并将其与TFS项目进行核对,并将TFS项目标记为你带来的每一个构建。将所有TFS构建,工作项目,用户,角色等进行对齐,并确保一切准备就绪。然后在切换时,从StarTeam获取最新的开发快照,并对TFS项目进行一次更新。将您的Starteam用户锁定在项目外(无论如何都是check in),然后开始在TFS中工作。您的TFS项目将具有最重要基线的粗略历史记录,并且您将能够保持StarTeam存储库对用户开放,以防需要更多历史记录。

要考虑的另一件事是如何创建项目的永久存档。如果您的存储库足够小,那么它是可行的,但是您的项目越大,获取的时间就越多。首先,将整个数据库和文件库复制到一个单独的实例中,并将其复制并运行。然后删除所有其他项目,除了要关闭的项目。运行联机清除并确保运行完成。您可能需要重新启动服务器并清理数次。完成后,整个存储库只应包含项目所需的文件和数据库记录。此时,您可以备份数据库和Vault并无限期地保留它们。这会减小现有StarTeam存储库的大小。

3年多没有使用过StarTeam,但这是一次有趣的旅程。希望你发现它有用。