准备用cvs2svn处理的rcs项目

rcs4cvs2svn的Python项目详细描述


rcs4cvs2svn准备rcs项目以使用cvs2svn进行处理。

rcs4cvs2svn对于仍然拥有古老源代码的开发人员非常有用 在rcs存储库中浮动,并希望将其移动到现代scm系统中。

而rcs4cvs2svn不提供直接迁移到任何 在其他的scm系统中,它创建一个rcs存储库的副本,可以是 由cvs2svn处理。

这样,您将得到一个subversion存储库,它可能已经 足够了。或者,subversion为进一步的迁移提供了一个良好的基础。 到另一个scm,如git或mercurial,因为大多数scm供应商提供工具给 从svn迁移,但不从rcs迁移。

(当然,您可以使用rcs4cvs2svn替换各种rcs2cvs脚本 四处漂泊。与许多这些脚本不同,rcs4cvs2svn可以处理 带有空格字符的文件名,并处理遇到的任何错误。)

用法

用法很简单:

$ python rcs4cvs2svn.py /path/to/rcs/project /path/to/cvs/repository

有两个选项,有关详细信息,请运行:

$ python rcs4cvs2svn.py --help

教程

本节描述如何将rcs存储库迁移到 然后去颠覆简历。

首先,为一个名为“hello”的项目创建一个简单的rcs存储库 包含一个文件“hello.txt”,有两个修订版:

$ mkdir -p hello/RCS
$ cd hello
$ echo "hello world!" >hello.txt
$ echo "Added greetings.\n." | ci -u hello.txt
$ co -l hello.txt
$ echo "hello space!" >>hello.txt
$ echo "Added more greetings.\n." | ci -u hello.txt

现在将rcs存储库迁移到cvs:

$ python rcs4cvs2svn.py hello/ /tmp/hello_cvs/

输出应为:

INFO:rcs4cvs2svn:create new CVS repository at "/tmp/hello_cvs/"
INFO:rcs4cvs2svn:migrated 1 files from "hello/" to "/tmp/hello_cvs/"

因为cvs仍然是一种非常过时的管理软件项目的方法,让我们 进入进化的下一步:颠覆。你需要cvs2svn, 可从<;http://cvs2svn.tigris.org/>;获得。

虽然有几种方法可以将cvs转换为svn,但对于我们的任务来说,最简单的方法是 要简单地创建包含cvs作为主干的svn转储文件:

$ cvs2svn --trunk-only --dumpfile hello.dump /tmp/hello_cvs/

现在您可以创建一个svn存储库并将主干加载到其中:

$ svnadmin create /tmp/hello_svn/
$ svnadmin load /tmp/hello_svn/ <hello.dump

继续使用更先进的供应链管理系统是留给 读者。

许可证

版权所有(c)2006-2011,托马斯·阿格拉辛格。保留所有权利。分布的 在BSD License下面。

源代码

源代码可从<;https://github.com/roskakori/rcs4cvs2svn>;获得。

版本信息

版本1.22011-10-26

  • 修复了可能导致包含非ascii文件名的问题的日志记录 字符或百分号(%)。
  • 改进了对cvs目标文件夹的处理,该文件夹现在可以是相对文件夹 即使csv init需要绝对文件夹。
  • 改进的api:添加了rcs4cvs2svn.main(),可以从python调用 类似于命令行。
  • 将测试shell脚本更改为正确的单元测试。
  • 清除了PEP8问题。

版本1.12010-07-06

  • 添加了自动创建cvs存储库以防目标路径 尚未包含CVSROOT文件夹。为了让它起作用, cvs必须安装命令行客户端。
  • 修复了从rcs复制的cvs中的保护位,并使 文件写保护(这不是转换为svn的问题,但 强制用户移除cvs以进行重复转换)。
  • 已清除API。只需import rcs4cvs2svn并调用 initCvsRepository()convertRcsToCvs()根据需要。

1.0版,2010-07-04

  • 首次公开发行。

版本0.92006-05-01

  • 最初的内部版本用来转换我自己的一些项目。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Eclipse中使用ctrlshiftt而不是ctrlshiftr有什么好处?   java自动装箱概念SCJP   java如何使用JAXR和Resteasy、Angular和Wildfly10处理COR   java如何在整数数组中动态添加元素?   JAVA从继承生成器模式返回父对象继承   java问题调试生产者消费者问题   java MQ:已达到通道的最大实例数   JavaPowerMockMockito:我试图stubb的方法最终被调用   java Hibernate将多个列映射到一个表   在java中,将字符串中的单词大写,但跳过字符串中的数字和多余空格或符号   使用Eclipse将Java项目导出到JAR时出现“重复条目”错误   java使用eclipselink在实体表上指定NullConstraint   <Java>我可以在TCPIP中使用多个服务器socket吗?   带有自定义视图的java AlertDialog:调整大小以包装视图的内容   如何从用C#编写的web服务生成用于java的SOAP API?