日期:2013-11-30  浏览次数:20493 次


 
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:cvsroot@192.168.7.183:/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地址)