有没有人知道Polarion将Starteam(2006v2)迁移到SVN的替代方案?我们的源仅为10GB,不包括所有修订历史。每当我运行Polarion svnimporter时,我都会遇到“Java内存不足”异常。我不确定是什么导致所有内存使用,但我不确定从哪里开始。任何建议(允许我至少保留一些历史记录)将非常感激。
谢谢!
答案 0 :(得分:4)
我正在将StarTeam的中型项目迁移到Subversion。由于VM内存不足,我也不得不应对许多JVM崩溃。似乎Polarion库/工具或他们从StarTeam使用的StarTeam.jar文件存在大量内存泄漏。无论如何,我似乎已经通过以下方式克服了手指(手指交叉):
java -Xmx2048m -cp svnimporter.jar:starteam80.jar org.polarion.svnimporter.main.Main full config.properties
现在它已经在大约11,000个文件上运行了大约3天..而且只有一半完成..所以这是一个缓慢的过程,至少可以说。
我没有找到其他工具......祝你好运。
答案 1 :(得分:2)
大约十年前,我们进行了StarTeam到ClearCase的迁移。我被聘请编写一个程序来进行迁移。不幸的是,StarTeam的命令行界面非常有限,没有真正的API。几乎所有的StarTeam命令都必须通过50个字符的登录字符串进行预先修复。也许这在过去十年中发生了变化。
您是否尝试增加Java的内存分配?默认情况下,JVM仅使用64Mb的内存。许多Java应用程序需要更多。在Java命令中,您可以给它类似-Xmx256m
的内容来为其提供256兆字节的内存。我看到Polarion的软件是基于Java的,但我最终没有下载它,因为他们想要我的名字和电子邮件。 (这不值得麻烦。)但是,我认为它是一个执行程序的批处理脚本或shell脚本。
是否可以一次只执行两个目录/模块?许多站点使用多个Subversion存储库 - 每个模块一个 - 而不是所有模块的一个大存储库。此外,如果您真正想要的话,您可以随时将所有Subversion存储库转储并加载到一个大型存储库中。更多的肘部油脂,但如果它有效,你可以保持你的整个历史。
我们最终做的只是转换几个标记点以获取历史记录而不是所有内容。我们的理论是,如果您确实需要详细历史记录,则可以返回StarTeam存储库。
发生了什么改变了我对这些事情的看法:事实是我们无论如何都无法构建大部分旧东西,因为它取决于它在StarTeam中的方式,所以即使我们保留了历史,它也没有做我们太好了。而且,它也让我们有机会重组一切并抛弃过时的东西 - 如果我们真的可以保留历史,我们可能不会做的事情。
最后,无论如何都没有人错过历史。 StarTeam存储库使用SQLServer来维护存储库数据库。该数据库在转换后不久就崩溃了。直到差不多一年之后我们才发现它。我只是想看看StarTeam是否还在工作,并发现了这个问题。
那么,看看是否增加了Java进程的内存有帮助,或者看看你是否可以逐步进行转换。如果这没有帮助,你可能想问问自己历史是否真的需要过来,或者如果你只是做一些标记点和活动分支的提示就没关系。
如果有人真的需要历史记录,可以回到旧的StarTeam系统。
我希望能给你更多的帮助,但我自己也没有更多的运气。
StarTeam CLI是不是很糟糕?应该可以编写一个简单的脚本列出修订版,然后从starteam检查它们并在大循环或其他东西中检查它们,不是吗?
你是这么认为的。毕竟,我已经设法为ClearCase,CVS,Subversion编写了我自己的转换例程。然而,当我十年前这样做时,StarTeam CLI非常糟糕,文档很糟糕,Borland(拥有StarTeam)根本没有帮助。
命令行工具没有登录。每个命令都必须提供凭据,这意味着在每个命令中放入一个50个左右的字符串。这也意味着CLI不知道你实际在看什么。你不能做svn info
之类的命令。你刚刚签了一堆东西。
无法通过命令行查看详细的历史记录。例如,没有办法找出所有修订版本,并且像Subversion甚至CVS一样一次检查一次。
有一个C API,但它也相当有限。我看到现在有一个Java API,这可能是Polarion正在使用的。
我想也许有一个StarTeam到CVS包可能会有所帮助。转换为CVS后,您可以将其转换为Subversion。唉,除了在互联网世界的凄凉中提出同样问题的一些人之外,我在这个问题上找不到任何东西。
我尝试下载API信息或命令行文档,看看我是否可以解决任何问题,但网站已关闭。
抱歉,除了我尝试过失败之外,我无法帮助你。
答案 2 :(得分:0)
我不知道starteam,但通常您可以导出标签/标签列表(或者可能是所有标签?)来自您的源版本控制系统。然后使用 svn_load_dirs.pl 将它们“堆叠”在一起。
这意味着您不会拥有整个历史记录,但至少是大多数冻结项目状态。
您可能也可能不会导出一些带时间戳的版本,并尝试将它们堆叠起来。
我最近通过检查签入/提交历史记录并为每个签入项目的完整版本导出并使用svn_load_dirs.pl将它们导入新的svn存储库来迁移一些简单的clearcase VOB。
答案 3 :(得分:0)
https://stackoverflow.com/users/618865/quinn-bailey< =这家伙之前已完成转换并撰写了一些修补程序。可能会有所帮助。
https://www.openmakesoftware.com/svn-importer-converting-from-borland-starteam/
在这些方面有一些有趣的评论。我也知道SVN Importer在导入带有多个标签的修订时遇到问题。我听说有一个版本的SVN Importer可以解决这个问题,但似乎无法找到它。