转载地址:http://www.blogjava.net/yongbing/archive/2007/03/04/101761.html

用 SVN Importer 实现 CSVNT 到 SVN 的转换

SVN Importer
用了一下,发现能够完美的将 CVSNT 仓库转换为 Subversion 的版本库,比那个小日本的 cvs2svn 好太多(用 cvs2svn 转换 CVSNT 仓库会破坏 word 文档,估计其他二进制文件的转换也不支持 )。

两个小工程转换成功,还有一个大工程在处理,明天看结果:)

把心得写下来共享。

先来说一下 SVN Importer 的两种转换 CVS 仓库的方式:

  • 普通 RCS 直接处理 CVS 仓库:和cvs2svn一样,通常需要指定rlog.exe,co.exe或是cvs.exe的具体位置。速度快但对 CVSNT 格式的仓库支持不好(因为 CVSNT 仓库的格式可能会不同于标准的 CVS 仓库)。
  • CVS
    客户端 pserver 协议登陆:很有特点的一种转换方式!也是能够完美转换 CVSNT 仓库的关键。SVN Importer 内置了一个
    JAVA CVS 客户端内核,通过 pserver 协议登陆到 CVSNT 仓库取出仓库内容然后导入到 Subversion
    版本库中。按照这个方式跳过了直接对 CVSNT 仓库的格式的识别和处理,理论上兼容性最好。

阐述操作环境:
CVSNT:2.5.03.2382
Subversion: 1.4.2
Subversion 安装路径: C:\Subversion
SVN Importer: 1.1-M8
J2RE: 1.5
CVSNT 主机:10.0.4.100
CVSNT 仓库: /dsp50
CVSNT 仓库登陆用户名: root
CVSNT 仓库登陆密码: root
CVSNT 仓库通讯协议: pserver, sserver (必须有 pserver)
SVN Import 安装路径: C:\svn-importer
导出生成的目标 Subversion 版本库路径: C:\svnroot\dsp50
注意:登陆的用户最好对仓库有完全的读写权限。

先安装J2RE,因为 SVN Importer 使用 Java 写的。
建两个临时文件夹: C:\temp\cvs和C:\temp\svn

下载 SVN Importer 解压缩到C:\svn-importer,进入,打开config.properties。
确保使用 cvs 方式。

srcprovider=cvs

Subversion 导入设置如下:

svnadmin.executable=C:/Subversion/bin/svnadmin.exe
svnadmin.repository_path=c:/svnroot/dsp50
svnadmin.parent_dir=.
svnadmin.tempdir=c:/temp/svn
svnclient.executable=C:/Subversion/bin/svn.exe
svnadmin.verbose_exec=yes

CVS 导出设置如下:

cvs.class=org.polarion.svnimporter.cvsprovider.CvsProvider
cvs.username=root
cvs.password=root
cvs.hostname=10.0.4.100
cvs.repository=/dsp50
cvs.modulename=*
cvs.tempdir=c:/temp/cvs

注意cvs.modulename=*表示导出仓库下所有模块,即导出整个仓库。

其他都不需要改,保存。

用命令提示符转到 SVN Importer 的安装目录 C:\svn-importer 运行如下指令:

run full config.properties

耐心等待,因为要通过协议登录到仓库提取数据,所以仓库较大的话会花不少时间。
运行过程没有进度提示(这是最郁闷的,我还以为是死了呢),不过会生成一个log日志文件,你可以随时参看处理情况。
根据 config.properties 文件的设置,在 SVN Importer 的安装目录下会生成了一个“file_dump_时间.txt”文件,如果文件容量不停增长,那就说明,处理正在进行,耐心等待结束吧

转出的仓库用 Subversion 客户端(如TortoiseSVN)检出后检查一下。

应该没问题了。至此,CVSNT 完美转换成 Subversion 版本库。

【转】用 SVN Importer 实现 CSVNT 到 SVN 的转换的更多相关文章

  1. sourceTree 更新svn提示can't locate SVN/Core.pm

    装了sourceTree一直没有怎么用,今天试着用用,居然报错 can't locate SVN/Core.pm 详细报错如下: Can't locate SVN/Core.pm in @INC (y ...

  2. 使用 svn://ip/filename 方式访问svn 资源库

    a. 下载 SVN的官方网站为 http://subversion.tigris.org/,当前最新版本为1.4.2.Windows下的二进制安装包分为两种,一种是以setup结尾的安装文件,另一种是 ...

  3. 【svn】server建立以及svn使用

    安装好VisualSVN Server后[安装过程看这里],运行VisualSVN Server Manger,下面是启动界面: 好的,下面我来添加一个代码库[Repository],如下图: 按上图 ...

  4. 应用SVN(CentOS中搭建SVN服务器)

    简单介绍如何在虚拟机 CentOS 中,搭建 SVN 服务器. 软件版本信息 Vmware 10.0.0 build-1295980 CentOS 7.0-1406-x64 Java 1.7.0_67 ...

  5. SVN二次开发——让SVN、TSVN(TortoiseSVN)支持windows的访问控制模型、NTFS ADS(可选数据流、NTFS的安全属性)

    SVN二次开发 ——让SVN.TSVN(TortoiseSVN)支持windows的访问控制模型.NTFS ADS (可选数据流.NTFS的安全属性) SVN secondary developmen ...

  6. SVN学习之windows下svn的安装

    svn是apache的一个开源项目,全称为subversion.是一个基于版本的项目管理软件,一般在多人开发的项目中使用,目前svn已经替代了原来的cvs.大多数情况下,svn服务安装在linux服务 ...

  7. SVN的安装和启动SVN的安装

    SVN的安装和启动SVN的安装 i. windows下安装SVN 首先要先下载SVN服务器,下载地址https://www.visualsvn.com/downloads/ 下载软件VisualSVN ...

  8. centos7基于SVN+Apache+IF.svnadmin实现SVN的web管理

    一.介绍 本文介绍的是CentOS7上搭建基于Apache.SVN Server.iF.svnadmin实现web后台可视化管理SVN. iF.SVNAdmin应用程序是Subversion授权文件基 ...

  9. SVN:linux下搭建svn服务器

    转载:https://www.cnblogs.com/puloieswind/p/5856326.html 1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SV ...

随机推荐

  1. ios提示框,自动消失

    -(void)click { NSString *showMsg = @"点击我,开始提示"; int width = showMsg.length * 20; UIWindow ...

  2. IDEA文件编码修改

    上图标注 1 所示,IDE 的编码默认是 UTF-8,Project Encoding 虽然默认是 GBK,但是一般我都建议修改为 UTF-8.上图标注 2 所示,IntelliJ IDEA 可以对 ...

  3. devexpress13学习系列(一)PDFViewer(1)

    使用这个组件,可以直接在winform里显示pdf文档,不需要另外装软件了. 有这么几个重要的属性: 1.DocumentFilePath:要读取的PDF的文件和路径. 2.CurrentPageNu ...

  4. PostgreSQL Replication之第十四章 扩展与BDR

    在这一章中,将向您介绍一个全新的技术,成为BDR.双向复制(BDR),在PostgreSQL的世界里,它绝对是一颗冉冉升起的新星.在不久的将来,许多新的东西将会被看到,并且人们可以期待一个蓬勃发展的项 ...

  5. 转:Curl详解

    用途说明 curl命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件.其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息.类 ...

  6. C++之路起航——标准模板库(vector)

    vector(动态数组或向量):动态分配内存空间的线性储存结构. 需要包括头文件<vector> 定义: vector<数据类型> 变量名: Eg: vector<int ...

  7. c++之路起航——指针

    c++一阶指针 定义 存储类型名 数据类型 * 指针变量名: Eg:int *a://定义了一个指向整型的指针 a: 指针使用方法 int a,*b; b=&a;//表明将a的地址赋值给b: ...

  8. LED流水灯(二)

    记住看汇编的时候是红在上面 黑色在下面 startup.s 程序 ; MDK跑马灯实验; PRESERVE8               // 字节对齐关键词 ,汇编有8位对齐的要求,要添加 AREA ...

  9. 04---Net基础加强

    字符串常用方法: 属性: Length获取字符串中字符的个数 IsNullOrEmpty()   静态方法,判断为null或者为“” ToCharArray() 将string转换为char[] To ...

  10. 安装Elasticsearch,Logstash,Kibana(5.0.1-mac版)

    安装Elasticsearch 1.下载https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.tar.gz包 ...