有什么工具可以将回购从Vault迁移到Subversion?
是否有任何工具可帮助从Sourcegear的Vault迁移到Subversion?
我真的希望有一个现有的工具或者项目(我会买!)。
要求:
- 仅一次迁移
- 完整的历史记录和评论
选修的:
- 对标签/分支/标签的某些支持
- 比较快。可能要花几个小时,而不是几天。
- 费用(如果有)
如果我们可以分享与此过程相关的个人经验,则可以加分。
我想要这样做的原因之一是因为我们在Vault和Subversion之间分散了许多项目(我们最终远离了SourceSafe)。在某些情况下,能够将特定客户的存储库整合到SVN会很有帮助。
另外,SVN在第三方工具中得到更好的支持。例如,哈德森和雷德明。
再次重申:我们并未完全放弃保险库。
解决方案
回答
我从来没有找到从Vault转换为svn的简便方法。基本上,我们采用了最新的分支机构和主干,并在svn中开始了新的工作。老实说,我回去了两三个标签,只是因为。我将保管库数据库保留了六个月,而我们再也不需要返回该数据库了。因此,我假设我们想继承历史记录以进行Bug跟踪器关联。同时,我们将未解决的错误列表转移到了新的跟踪器中,从而使事情变得更加便捷。如果我们使用相同的错误跟踪器,我想我们应该为新的仓库启动一个新的实例。祝你好运!
布雷特
回答
如果需要完整的版本历史记录,则可能只想编写一个脚本,可以从Vault中检出每个版本,并使用对Subversion的注释将其检入。
https://www.mercurial-scm.org/wiki/GenericConversion是一个很好的例子
根据我在Vault网站上看到的文档,查看命令行GETVERSION。
使用我们喜欢的脚本语言...
实施以下过程:
- 从Vault中检出版本。
- 获取更改集的提交注释。
- 将文件添加/删除到SVN存储库
- 使用提交注释提交文件
- 返回下一个版本的第一步
回答
自由。自从我们执行此操作以来,保管库用户许可证成本已增加了两倍。
回答
我们也在考虑迁移。一个原因是成本,但另一个原因是Vault的提交注释未使用有效的xml(或者任何其他格式),因此特殊字符使我们的自动CCNet构建系统失败(例如,项目符号是其中之一,特别是给我们造成了问题) 。一种解决方法是A)要求我们的开发人员不要使用这些特殊的"无效"字符(ASCII 32 126范围之外的字符)和B)手动输入并重新提交带有"有效"注释的代码。这看起来似乎没什么大不了,但是不允许这些字符阻止将错误和其他注释轻松复制/粘贴到提交注释中。这会使人放慢脚步,任何减少人流和生产力并造成挫败感的因素都需要减少或者消除。
根据我的研究,似乎没有办法直接从Vault迁移到SVN。也许可以使用另一个版本控制系统作为迁移的中间步骤:
保险柜-> OtherSourceControlProduct-> SVN
...但是我认为我们可以编写提交脚本(如Joshua在此线程开始时所建议的那样),或者更有可能只是提交最新的几个修订版本,并在一段时间后将Vault仓库留给历史记录,等等。我们是清理和重构当前代码和层次结构的好机会。
保罗
回答
我们正在考虑从Vault迁移到git。我编写了vault2git转换器,该转换器负责处理历史记录并从* .sln,*。csproj文件中删除保险库绑定。
一旦有了git repo,就有了git2svn。
我知道这听起来像是四处走走,但它可能比从头开始编写vault2svn更快。