Ido*_*.Co 15 git version-control rtc
大约一年前,我的团队被迫从SVN迁移到RTC Jazz scm.因为我们对RTC非常不满意,所以我们决定放弃它并切换到Git进行版本控制.
我没有找到很多关于从RTC迁移出来的信息,但我确实找到了这个Rational Adapter for Git(我不确定它可以用于这种迁移).
迁移源代码并将历史记录从RTC爵士乐改为Git的最佳方法是什么?
Jok*_*ker 15
由于我们遇到了同样的问题并且我们希望保留历史记录,因此我们开始创建一个python脚本,该脚本自动执行将流式传输RTC SCM流转换为GIT的过程.
该脚本可以在这里找到:https: //github.com/rtcTo/rtc2git
一些细节程序如何工作 - 它基于RTC CLI.
对于每个流,将创建一个分支
基本上就是这样.如果你愿意,我也可以提供一些示例命令,这些命令帮助我获得必要的信息(关于RTC CLI的特定信息,信息很少见).
编辑:我认为该程序的当前版本是稳定的.所以试试吧.:)我欢迎任何反馈.
我已经测试了适配器,我确认它不适用于迁移.它用于链接git提交和RTC更改集.
迁移本身是有限的,只涉及源代码控制部分,而不涉及工作项或构建.
我通常将repo工作区设置为最后几个基线并将它们导入到git工作树中.我不会导入作者姓名.
导入利用命令的选项--git-dir
和--work-tree
选项.
(如本答案或本答案所示)git
您可以从任何地方打字:
git --work-tree=/path/to/sandbox --git-dir=/path/to/repo/.git status|add|...
Run Code Online (Sandbox Code Playgroud)
首先尝试状态,以查看要导入的内容.您可以向/path/to/repo/.git/exclude
文件中添加一些要从您不想要的导入元素中排除的模式(如.jazz5
文件夹!).
当然,/path/to/sandbox
可以是该沙箱中的任何子文件夹:您不必导入所有内容.
使用相同的沙箱重复该过程,使用不同的基线/快照更新,从最旧到最新.
这给了一个粗略的历史,足以开始.
我有同样的工作,即将包含多个组件的整个流转换为单独的 git 存储库。尝试了上面提到的python 脚本后,我发现它太复杂了(例如,在eclipse 中选择所有URL 来创建历史文件、搜索基线等)并且根本不可靠。至少对于具有超过 4000 个变更集的组件而言不是这样。
所以我用 Perl 编写了另一个脚本,它几乎是开箱即用的,至少在 Windows 7.0 上是这样。该脚本包含许多针对 scm 中所有这些错误的解决方法,因此您不必理会它。
它完成了它的工作,也许它也可以帮助你。
拉尔夫
归档时间: |
|
查看次数: |
9943 次 |
最近记录: |