首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从RTC Jazz迁移到Git?

如何从RTC Jazz迁移到Git?
EN

Stack Overflow用户
提问于 2014-05-29 16:26:05
回答 3查看 12.3K关注 0票数 15

大约一年前,我的团队被迫从SVN迁移到RTC Jazz scm。由于我们对RTC非常不满意,我们决定放弃它,转而使用Git进行版本控制。

一般来说,我没有找到很多关于迁移出实时时钟的信息,但我确实找到了这个Rational Adapter for Git (我不确定它是否可以用于这种迁移)。

将我们的源代码从RTC jazz迁移到Git的最佳方式是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-27 17:00:20

由于我们遇到了同样的问题,并且我们希望保留历史记录,因此我们开始创建一个python脚本,该脚本自动执行将RTC SCM Stream by Stream迁移到GIT的过程。

可以在以下位置找到该脚本:https://github.com/rtcTo/rtc2git

一些详细的程序是如何工作的-它基于RTC CLI。

  1. It init一个空的git存储库克隆它,并在其中创建一个基于最老的流的工作区。
  2. 对于给定的流,由配置文件提供,它读取组件的基线。
  3. 对于此组件的每个基线,将执行比较命令(要查看所有差异,很遗憾,直接与最新的流进行比较会抛出异常@RTC版本5.0.1)
  4. 比较的输出将被解析,以获得必要的信息(作者,注释,日期等)
  5. 更改将在工作区中接受,不久之后,将执行相应的git命令以在git

中执行相同的操作。

对于每个流,将创建一个分支

基本上就是这样。如果您愿意,我还可以提供一些示例命令,它们帮助我获得必要的信息(关于RTC CLI的特定内容的信息非常少见)。

编辑:我认为当前版本的程序是稳定的。所以试一试吧。:)我欢迎任何反馈。

票数 16
EN

Stack Overflow用户

发布于 2014-05-29 16:44:15

我已经测试了适配器,我确认它不是用于迁移的。它用于将git提交与RTC更改集相关联。

迁移本身是有限的,并且只涉及源代码控制部分,而不是工作项或构建。

我通常将repo工作区设置为最后几条基线,然后将它们导入到git工作树中。不过,我不会导入作者的名字。

导入利用了git command--git-dir--work-tree选项。

(如this answerthis one中所示)

你可以在任何地方输入:

代码语言:javascript
复制
git --work-tree=/path/to/sandbox --git-dir=/path/to/repo/.git status|add|...

首先尝试一个状态,看看你要导入什么。您可以向/path/to/repo/.git/exclude文件添加一些模式,以便从不需要的导入元素(如.jazz5文件夹!)中排除。

当然,/path/to/sandbox可以是沙箱中的任何子文件夹:您不必导入所有内容。

使用相同的沙箱重复该过程,并使用不同的基线/快照进行更新,从最旧到最新。

这给出了一个粗糙的历史,这足以开始。

票数 7
EN

Stack Overflow用户

发布于 2015-05-19 19:41:24

我也有同样的工作,那就是将包含几个组件的整个流转换为单独的git存储库。在尝试了上面提到的python脚本后,我发现它太复杂了(例如,在eclipse中选择所有的URL来创建历史文件,搜索基线等),而且根本不可靠。至少对于有超过4000个变更集的组件来说不是这样。

所以我用Perl写了另一个脚本,它几乎开箱即用,至少在Windows7.0上是这样的。该脚本包含了许多针对scm中所有这些错误的变通方法,因此您不必为此而烦恼。

Link to Bitbucket

它完成了它的工作,也许它也能帮助你。

拉尔夫

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23928927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档