UML软件工程组织

 

 

如何把VSS仓库转换到CVS
 
作者:tag 来源:CSDN
 

VSSExtractor的使用

该工具可以把VSS的工程转化为CVS的工程转换需要两个程序,一个是VSS端的VSSExtractor.exe,基于window的平台,一个是CVS端的cserver,基于linux.版本。

我使用的是0.7.2版本的,本来他的cserver程序需要做cvs的补丁才可以的,这个版本已经直接patch过了, 而且带了他要求的cvs1.11.1p1,省 去了自己下载cvs在patch的过程了。直接编译就好。window下的VSSExtractor.exe直接使用就好了。

配置方法:
cserver只要配置cserver.conf文件就好
#
# Cserver configuration file
#

# Ports 默认的就挺好
[CommandPort] 4555

# WARNING : data port MUST be command port + 1 默认的就挺好
[DataPort] 4556

# CVS repository 改为自己想要生成的cvs工程的目录,不需要是cvs的仓库(CVSROOT目录)
[Cvsroot] /root/software/cvs/src

# tmp directory
[TempDir] /tmp

# logfile 文件的路径要存在,否则提示不能打开logfile,同时会发生一起奇怪的错误。
[logFile] /root/software/cvs/cserver.log

VSSExtractor.exe只要配置VSSExtractor.ini就好
#
# VSSExtractor configuration file
#

# SourceSafe server repository 你的仓库路径,也就是srcsafe.ini文件所在位置
[SSDir] E:\VSS仓库

# Login and password for the SourceSafe server
# data format is -Ylogin,pass 好象不起作用,必须win系统建立一个同名帐号
[VSSLOGINPASS] -Ylogin, pass

# Sourcesafe language, supprted languages are English, Freanch and German
[VSSLANG] english

# Local computer parameters 设置VSS的执行程序信息
[VSSPath] E:\VSS仓库\win32
[VSSExec] ss.exe
[Tempdir] c:\temp

# Conversion server name & port 服务器名字和端口
[Server] www.redhat24.com
[Port] 4555

# Projects to convert - there can be more than one 想要转换的工程,可以多个
[Project] $/test1
[Project] $/test2

# Conversion mode - Toggle to No when you want to use an existing XML file
[GenerateXML] Yes

# Edition mode - Toggle to No when you want standard conversion
[EditXML] Yes

# Recurse through the project tree ?
[Recursion] Yes

# Names for the output files
[XMLfile] tree.xml
[Logfile] logfile.txt

配置好后,先运行cserver,在运行VSSExtractor.exe就行了,剩下的事情会自动完成的。

注意事项:

必须在VSS建立一个和windows的系统用户同名的帐号,VSSExtractor.exe是用当前登陆用户来操作VSS仓库的。

linux的机器并不需要cvs的服务器就可以,cserver做了所有的事情。

中间碰到一些奇怪的现象:

服务器的名字要用dns解析出来的,我是自己安装了一个dns服务器,把www.redhat24.com指向我自己的linux机器,查看代码发现,VSSExtractor.exe是用gethostbyname查找server的name,然后在通过找到的IP连接服务器。我不知道这个函数是否还用其他的方法找地址。

我测试过修改hosts文件是不行的。当然也可以通过修改程序在编译解决。记得是NetInterface类的函数ConnectServer里面调用的。

我开始转的时候,老是提示什么DOS路径无效的提示,后来我把vss用户下的ss.ini文件删除就好了。他可能通过ss.ini里面的信息checkout文件,ss.ini里面记录了我工程的checkout路径。我的工程路径带中文,可能不支持。

在VSSExtractor.exe分析VSS工程的时候,有些工程老是提示什么parse event[2]的错误,工程应该没有问题,我后来是通过把有问题的工程先share为另外一个工程名,在转新的工程就没有问题了,照道理他们的历史记录是一样的,比较奇怪。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号