大约一年前,我的团队被迫从SVN迁移到RTC Jazz scm。由于我们对RTC非常不满意,我们决定放弃它,转而使用Git进行版本控制。
一般来说,我没有找到很多关于迁移出实时时钟的信息,但我确实找到了这个Rational Adapter for Git (我不确定它是否可以用于这种迁移)。
将我们的源代码从RTC jazz迁移到Git的最佳方式是什么?
发布于 2015-01-27 17:00:20
由于我们遇到了同样的问题,并且我们希望保留历史记录,因此我们开始创建一个python脚本,该脚本自动执行将RTC SCM Stream by Stream迁移到GIT的过程。
可以在以下位置找到该脚本:https://github.com/rtcTo/rtc2git
一些详细的程序是如何工作的-它基于RTC CLI。
中执行相同的操作。
对于每个流,将创建一个分支
基本上就是这样。如果您愿意,我还可以提供一些示例命令,它们帮助我获得必要的信息(关于RTC CLI的特定内容的信息非常少见)。
编辑:我认为当前版本的程序是稳定的。所以试一试吧。:)我欢迎任何反馈。
发布于 2014-05-29 16:44:15
我已经测试了适配器,我确认它不是用于迁移的。它用于将git提交与RTC更改集相关联。
迁移本身是有限的,并且只涉及源代码控制部分,而不是工作项或构建。
我通常将repo工作区设置为最后几条基线,然后将它们导入到git工作树中。不过,我不会导入作者的名字。
导入利用了git command的--git-dir和--work-tree选项。
(如this answer或this one中所示)
你可以在任何地方输入:
git --work-tree=/path/to/sandbox --git-dir=/path/to/repo/.git status|add|...首先尝试一个状态,看看你要导入什么。您可以向/path/to/repo/.git/exclude文件添加一些模式,以便从不需要的导入元素(如.jazz5文件夹!)中排除。
当然,/path/to/sandbox可以是沙箱中的任何子文件夹:您不必导入所有内容。
使用相同的沙箱重复该过程,并使用不同的基线/快照进行更新,从最旧到最新。
这给出了一个粗糙的历史,这足以开始。
发布于 2015-05-19 19:41:24
我也有同样的工作,那就是将包含几个组件的整个流转换为单独的git存储库。在尝试了上面提到的python脚本后,我发现它太复杂了(例如,在eclipse中选择所有的URL来创建历史文件,搜索基线等),而且根本不可靠。至少对于有超过4000个变更集的组件来说不是这样。
所以我用Perl写了另一个脚本,它几乎开箱即用,至少在Windows7.0上是这样的。该脚本包含了许多针对scm中所有这些错误的变通方法,因此您不必为此而烦恼。
它完成了它的工作,也许它也能帮助你。
拉尔夫
https://stackoverflow.com/questions/23928927
复制相似问题