首页 > 开发 > 综合 > 正文

CVS版本控制软件的安装配置与使用

2024-07-21 02:07:11
字体:
来源:转载
供稿:网友



 
cvs版本控制软件的安装配置与使用

对 http://www.chinaunix.net 作者:zdm    修改后发布

cvs版本控制软件的安装配置与使用

(一) 软件的安装:
1. 软件的获取:cvs是一个典型的server/client端软件,有unix版本的cvs 、linux版本的cvs,和windows版本的cvs,在下载的软件包中已经包含了server端和client端,但是我们在工作中一般都是使用windows操作系统,所以我们可以再下载一个windows下cvs的client端软件wincvs。在以下网站可以获取最新版本的cvs。
http://www.cvshome.org
2. 软件的版本:现在unix下最新版本的cvs是cvs-1.11.5.tar.gz
            windows下cvs的client端软件wincvs版本是wincvs1.3
3. 软件的安装:
把你下载的cvs-1.11.5.tar.gz放到unix机器的一个临时目录中,进入到此目录,
#gunzip  cvs-1.11.5.tar.gz
后得到cvs-1.11.5.tar文件,然后再执行:
#tar xvf cvs-1.11.5.tar
后得到一个cvs-1.11.5的目录,进入到此目录后执行下列命令:
#./configure
#make
#make install
如果在安装过程中没有错误信息出现,则说明你的安装是成功的,如果有报错请根据错误信息检查你的系统设置
windows下cvs的client端软件wincvs1.3的安装执行源文件中的setup.exe文件,指定安装的目录即可。
(二) cvs软件服务器端的配置:
1. 我们安装好此软件后就可以开始配置服务器了,一般cvs是用pserver的认证方式作为一种服务在unix上运行的,
所以先要确定系统里/etc/services文件有cvs服务的入口,(如果没有)在这个文件中添加一下两行:
cvspserver   2401/tcp                     # cvs client/server operations
cvspserver   2401/udp                     # cvs client/server operations
2. cvs服务是通过xinetd来启动的,我们需要修改/etc/xinetd.conf文件,添加一条语句
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
由于在较新的linux发行版(如:redhat7.x)中都是用新xinetd代替了inetd,要用xinetd来启动cvs服务你需要进入到/etc/xinetd.d/目录,然后编辑一个文本文件(名字随意),这里是用cvspserver作为文件名,这个文件的内容如下所示:
service cvspserver
{
socket_type = stream
wait = no
user = root
env = home=
server = /usr/bin/cvs
server_args = --allow-root=/cvsroot pserver
}
注意上面的service后面的名称一定要和你在/etc/service文件中的cvs服务名称一样,在server_args行我们指定了cvs使用pserver认证方式,可能容易产生误解的是env = home=这一行,添加这一行的目的就是为了解决在执行一些cvs操作时产生的读取/root/.cvsignore文件的错误,上面env那行的意思就是在运行cvs服务的时候将环境变量home置空,这样虽然执行cvs的用户是root,但是由于没有了home这个环境变量,所以cvs就不会在去读取/root/.cvsignore文件了。

建议使用后者启动cvspserver,不要修改 /etc/xinetd.conf文件,避免冲突


3. 使cvs正常运行还需要对需要使用cvs的用户进行设置,首先建立一个用户组cvs,然后添加一个用户cvsroot,修改用户cvsroot的组属性,使它成为cvs组成员。
groupadd cvs
useradd -g cvs cvsroot
4. 创建一个目录,名称和路径任意。此目录为存放用户源代码的目录,也就是用户的数据仓库(repository),是cvs的核心部位,所以应该建立在一个空间足够大的分区比较好。在此我在根目录下建立了一个cvsroot的目录
#mkdir  cvsroot
5. 创建一个环境变量cvsroot,此环境变量指明了数据仓库所在的位置,如果你使用的shell是csh,那么你应该编辑你的根目录下的.cshrc文件在里面添加以下这条语句
setenv cvsroot  /cvsroot
注意,路径要和你作为数据仓库的目录路径一样。
6. 初始化你的数据仓库的目录
cvs -d /home/cvsroot init
7. 初始化/cvsroot目录后会自动在/cvsroot目录下产生一个cvsroot的目录,此目录下的文件是cvs的配置文件,对几个主要文件的说明如下:
checkoutlist 支持cvsroot目录的其它管理文件,允许为各种cvs命令定置信息
commitinfo 在cvs commit命令执行时,这个文件指定乐文件提交时执行的命令
cvswrappers 定义乐一个包装程序当文件登记或检取时就会执行
editinfo 允许你在commit命令启动前在日志信息被记录后执行的脚本
history 跟踪所有影响仓库的命令
loginfo 类似coimmitinfo, 只是在文件提交后执行
modules 允许为一组文件定义一个符号,否则必须为每一个要引用的文件指定cvs仓库的路径名($cvsroot)
nitify 控制从"watch"来的通知."watch"由"cvs watch add"和"cvs edit" 设置
rcsinfo 为commit log回话指定一个模板.
taginfo 定义乐在任意"tag"操作后执行的程序.
readers 设置有读权限的用户清单 (系统默认没有此文件,必须手工添加)
writers 设置有读写权限的用户清单 (系统默认没有此文件,必须手工添加)


到此为止,cvs服务器的配置就做完了,你可以使用你的cvs服务器了。你可以测试你的cvs服务器了,在命令行下输入以下指令来登陆cvs服务器,如果没有提示任何信息就说明你已经登陆到cvs服务器了
cvs  -d :pserver:[email protected]:/home/cvsroot login
(三) cvs客户端软件wincvs的配置:
1. 软件说明:虽然您在unix上安装的cvs软件即包括了server端又包括了client端,但是你在使用时需要记忆那些反烦琐的命令,现在有一个软件wincvs是运行在windows下的一个cvs的客户端软件,
2. 软件安装:得到wincvs的安装程序后执行里面的setup.exe文件,安装到你指定的目录下。
3. 软件的启动:开始-程序-gnu-wincvs1.3-wincvs
4. 软件的配置:在admin菜单下选择preferences…,弹出的窗口中选“general”页面,具体设置如下所示:
authentication: pserver (认证方式为pserver,这是默认的认证方式)
path: /home/cvsroot (在服务器上数据仓库的路径)
host address: 192.168.7.183 (服务器的ip地址)
user name: bjcvs (登陆服务器的用户名)
cvsroot: 设置完成上面的项目后,此项会自动生成,在此不必设置

5. 在“globals”页面中取消以下两项前面的复选框
checkout read-only (如果你选择此项则checkout出来的项目都是只读的)
prune(remove) empty directory (不允许目录为空)
6. “wincvs”页面中,在“home (passwords and ~/.cvs*”后面的填入你本机的一个目录,
以后你做的check out、check in操作都在此目录下。“default viewer used to”设置默认得编辑器
7. “command dialogs”页面不用设置。
(四) 选择“admin”-“login” 后会弹出一个窗口,让你输入密码,这样你就可以登陆到cvs服务器了,
如果你看到下面的信息说明你的登陆是成功的:
cvs -z9 login
logging in to :pserver:[email protected]:2401/home/cvsroot
*****cvs exited normally with code 0*****
凡是“cvs exited normally with code 0”最后不是0状态的都为登陆失败以后你在cvs上所作的操作不是以0结尾的都是错误操作。
(五) wincvs的使用:
1. 上传(checkin):

上传一个目录:
窗体中部左边有一个explore页,点击它,选择你准备上传的文件夹;点击菜单栏的creat->>import module from selection,会跳出一个import filter窗体。如果你的文件里有错误,import filter窗体里就会有error或warn标志,如果真是这样,你最好还是先看一看有何问题。
下一个跳出的窗体是import setting,在select the module name and path on the remote server里面填上一个名称,当你的文件传上服务器后,cvs服务器里就会以这个名称建立一个代码库,存放刚才传上来的文件。请记住,下拉框并没有什么神奇的功能,它只能记住你上次填进去的东西。

上传一个文件:
在本地工作目录中添加一个新文件后,要提交到服务端。先选中文件,然后点击工具栏中的“添加按钮(add selected)”,添加文件后,再在右键菜单中选择提交命令“commit selection”即可。 
   
2. 下载(checkout):

下载一个目录:
经过上一步操作,你在服务器里就有了源代码,所有的开发者可以开始工作了。当然,开发者需要先下载一个拷贝到本地才能修改它。建立本地工作目录,在自己的硬盘上新建一个目录,例如建立一个名为“work”的目录,表示这是工作目录。选择creat->>checkout module,出现的窗体是checkout setting,在module name and path on the server中填写你在上一步(上传文件)中,上传到服务器中的模块名称。在local folder to checkout to中填写你

下载一个文件:
如果你不小心删除了你本地工作目录中的一个文件,你可以选中窗体中部左边有一个modules页,选择你工作的modules,在右边窗口中右键选中那个你误删除的文件,选择update selection,把cvs服务器上的文件和本地文件进行同步与合并,不用选中出现的任何选项,直接选择“确定”。
3. 锁定:
一般而言,在项目小组中,项目经理会定期公布最新的基础版本,要求小组成员都在这个基础版本上进行进一步开发在实际工作中,总会有些成员提前完成工作,他们提交更改后,最新版本就会比项目经理发布的基础版本的version更高。有时候,某些项目成员会有意无意修改基础版本,并且指定提交到基础版本上,如果允许他们提交修改,大家可能都会在一个错误的基础版本工作,后果是不堪设想的。 
锁定文件的操作如下: 
菜单栏的admin->>comandline,输入这个命令: 
cvs admin -l版本号 文件全名 
注意,-l和版本号之间没有空格。 
如果你锁定成功,会有如下提示: 
rcs file: /cvs/hrsystem/test/new.txt,v 
1.1.2.3 locked 
done 
*****cvs exited normally with code 0*****

关于cvs的client端wincvs的介绍我只能说这么多了,在网上关于wincvs的介绍有很多资料,大家可以去查查,

(六) 公司内部cvs帐号说明:
公司内部cvs服务器现在已经搭建起来,在portal机器上(192.168.2.52),并且给每个人添加了一个cvs的用户,用户名就是:
您的姓的全称+名字的第一个字母,
例如:张道明的cvs帐号就是 zhangdm
密码和用户名相同,也是zhangdm
目前为测试和学习cvs的使用阶段,等大家对cvs的使用比较熟练时再统一由microsoft visual sourcesafe转入cvs。
(七) 安装cvs前需要首先安装python-2.2.1.exe(现在已经有比较新的脚本了)

 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表