将历史从SVN导入/导出到TFS
-
01-07-2019 - |
题
是否有任何导入和导出工具可以让我们将项目移入和移出具有完整历史记录和日志的团队系统?我们目前的SCM是SVN。
PS - 对不起,我知道这是一个转发,但我之前没有得到答案......:)
解决方案
不幸的是,你可能没有得到答案,因为没有提供好的答案......
我之前已经研究了几次,最初是为了第一次TFS Betas。 (当时我们急切希望在等待TFS准备就绪时离开VSS ...我们最终的妥协就是在过渡期间使用SVN,但使用了一个保持VSS存储库同步的post commit钩子允许该迁移路径到TFS。)
这些人(ComponentSource)当时都是VSS TFS转换器,并添加了一个SVN到TFS,但似乎已经停止了该产品。
这些家伙( Kyrosoft)可能有一些承诺,但我担心他们不会发布价格,并且会发布客户名单(两个)。如果有人对该产品有经验,请让我们都知道。
最近,TFS迁移和同步工具包已经在CodePlex上发布,但到目前为止还没有人发布过SVN插件(请求)
所以,你可以看一下滚动你自己的工具包插件,但即便如此你也不会得到提交的原始日期,据我所知,TFS团队没有允许导入器设置这个的机制,因此,所有迁移的修订都将具有迁移日期。
(上面已经停止使用的第一个工具据称是允许这个,但他们如何克服限制(秘密API?调整系统时间?数据库操作?)我不知道。)
最后,我怀疑大多数团队最终决定在适当的时间(例如新版本或项目)切换系统,并手动处理6-12个月的分叉历史查找,这仍然特别成问题。
其他提示
我不知道你是否仍然感兴趣,但我刚刚和我现在的雇主一起讨论了这个问题(我的项目是使用SVN,他们希望将其迁移到另一个站点的TFS)。
以下是我使用的步骤:
- 在当前仓库中运行svndump,并将该文件转移到预期目标
- 使用svn服务器(例如本地存储库)导入文件 - 为此我使用了 VisualSVN Server
- 将SVN存储库签出到本地目录(例如
svn co <url> Proj_SVN
) - 在同一台计算机上运行 SvnBridge (来自CodePlex)
- 将TFS存储库签出到本地目录(例如
svn co http:// localhost:8080/<tfs_server>/<project_repo_path> Proj_TFS
) - 使用 Svn2Svn (来自codeplex),我运行以下命令:
svn2svn /s:c:\temp\src\Proj_SVN /d:c:\temp\src\Proj_TFS /r:<start_rev>:<end_rev>
醇>
根据修改的数量,您拥有的数据量和网络速度(例如,在TFS服务器上运行速度可能更快),可能需要10分钟才能完成每个修订。
无论如何这是我用过的,它对我有用(虽然痛苦的过程......) - 你的手段可能会有所不同。
http://www.timelymigration.com/features.aspx 是另一种选择,试运行似乎有效。
在这里大声思考,但SVN是否支持<!>的方式“回放<!>”;它的历史?如果有一种方法可以从现有存储库生成一组完整的SVN命令,那么您可以将这些命令提供给 SvnBridge ,实际上是写入TFS。
使用KryoSoft。 ComponentSource基本上没有业务。