首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何导出OpenVMS CMS历史记录并导入到GIT?

如何导出OpenVMS CMS历史记录并导入到GIT?
EN

Stack Overflow用户
提问于 2014-03-04 04:04:22
回答 2查看 813关注 0票数 1

我们正在摆脱我们的DEC Alpha工作站,并在OpenVMS代码管理系统(CMS)下有许多历史软件,我们希望将其导入到运行在Linux上的GIT中。目前我们不得不手工完成这项工作,这将需要很长时间。有没有人知道可以自动执行这个过程的脚本?

EN

回答 2

Stack Overflow用户

发布于 2015-12-18 01:35:40

我只需要处理CMS-Git迁移,需要找到现成的解决方案,这让我来到了这里。令人惊讶的是,这项任务的选择并不多。继续挖掘,还发现了另一个迁移实用程序exportcms-githttps://github.com/nomadbyte/cms-export

我试过那个工具,想在这里报告它,以便在其他人面临这样的任务时增加更多的主题。

这是一个DCL批处理,没有太多的研究,但是文档很有用。读取CMS,创建Git导入文件,您可以传输该文件并创建目标Git存储库。运行它来转换一个旧的CMS库(我们有五个!)它使用了一些小技巧,需要将导出的文件作为二进制进行ftp,显然我们在库中有一些二进制元素。

它是一代又一代的输出,基本上每一代都会变成一个Git提交。此外,它还为变体和类创建分支。我都不知道我们的CMS里还有变种。无论如何,Git代码库是可用的,我们计划重新安排它以适应新的构建过程,但我们保留了所有的修订。

票数 3
EN

Stack Overflow用户

发布于 2014-03-04 06:58:27

我有一些类似的东西:

代码语言:javascript
复制
$ ./git-cmsimport.pl
usage: ./git-cmsimport.pl [OPTION]... LIBRARY URL
       Import the latest generation of all elements from the CMS LIBRARY
                        (in VMS syntax) located by the URL.
                        Results in files in the master.
       -c CLASS,        import only the members of the CMS class CLASS.
                        Results in files in the branch CLASS.
       -f FILE,         local file containing the CMS history (for -h)
                        or CMS generation information.
       -h,              import the full CMS LIBRARY according to its history.
                        Results in files in the master and branches for classes.
       -l,              lowercase all VMS names: library, user and files
       -t OFFSET,       time zone, 4 digit offset from UTC (rfc2822)
example: ./git-cmsimport.pl -f hist.txt -h -l -t -0600 [.cmsdemo] http://eisner.encompasserve.org
$

也就是说,我在本地Linux系统上运行perl脚本,在远程VMS系统上,从我的帐户运行自己的http服务器

代码语言:javascript
复制
$ ./git-cmsimport.pl -t -0600 [.cmsdemo] http://eisner.encompasserve.org:8081
LIBRARY EISNER$DRA3:[DECUSERVE_USER.BECKER_H.CMSDEMO]
%CMS-S-FETCHED, generation 5 of element EISNER$DRA3:[DECUSERVE_USER.BECKER_H.CMSDEMO]BAR.C fetched
%CMS-S-FETCHED, generation 2 of element EISNER$DRA3:[DECUSERVE_USER.BECKER_H.CMSDEMO]FOO.C fetched
%CMS-S-FETCHED, generation 2 of element EISNER$DRA3:[DECUSERVE_USER.BECKER_H.CMSDEMO]MAIN.C fetched
$ ls -a CMSDEMO/
.  ..  BAR.C  .cms-elements  FOO.C  .git  MAIN.C
$

正如您所看到的,它试图将CMS类映射到git分支。目前,这只是一个概念上的证明。但如果有兴趣的话...

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

https://stackoverflow.com/questions/22156253

复制
相关文章

相似问题

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