cvs版本管理平台搭建文档

来源: 作者:articleman
  

cvs版本管理平台搭建文档

引自;http://blog.chinaunix.net/u/24250/showart_305821.html 

CVS版本管理平台搭建手册
ManDriva2006上cvsserver是默认安装的,但是配置半天,感觉没有什么问题,但是我用 WinCvs1.3中文版客户端可以连接成功,模块也可以import成功,但是不能update和commit,最后无语了,似乎此版本 cvsserver和该客户端有些不配合,也不知是哪个的命令格式不规范。最后下了一个较新的cvs包重新安装,很快搞定了。
下面介绍服务器和客户端的详细安装配置流程:
软件版本:
a) Linux下Server为cvs-1.11.22.tar.gz或更新版本。
b) Windows下CVS的Client端软件WinCVS版本是WinCVS1.3
服务端软件安装:
c) 把下载的cvs-1.11.22.tar.gz放到Linux机器某一目录,d) 进入该目录
e) 执行tar  xzvf  cvs-1.11.22.tar.gz,f) 产生cvs-1.11.22目录,g) 进入该目录
h) 执行如下命令:
./configure
make
make install
CVS服务端配置:
安装好软件后就可以开始配置服务器了,CVS采用Pserver的认证方式,先要确定系统里/etc/services文件有CVS服务的入口,(如果没有)在这个文件中添加一下两行:
cvspserver?? 2401/tcp???????????????????? # cvs client/server operations cvspserver?? 2401/udp????????????????????# cvs client/server operations
CVS服务是通过xinetd来启动的,要用xinetd来启动cvs服务你需要进入到/etc/xinetd.d/目录,然后编辑一个文本文件(名字随意),这里是用cvs作为文件名,这个文件的内容如下所示:
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
passenv = PATH  //本人添加的,此项决定了cvsserver使用的tmpfile所在
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文件了。
使cvs正常运行还需要对需要使用cvs的用户进行设置,首先建立一个用户组cvs,然后添加一个用户cvsroot,修改用户cvsroot的组属性,使它成为cvs组成员。
groupadd cvs
useradd -g cvs cvsroot
创建一个目录,名称和路径任意。此目录为存放用户源代码的目录,也就是用户的数据仓库(repository),是CVS的核心部位,所以应该建立在一个空间足够大的分区比较好。在此我在使用cvsroot用户的主目录/home/cvsroot
创建一个环境变量CVSROOT,此环境变量指明了数据仓库所在的位置,我使用的bash,因此在.bash_profile中添加如下两行:
 CVSROOT=/home/cvsroot
 export  CVSROOT
注意,路径要和你作为数据仓库的目录路径一样,如下配置6)。
设置数据仓库配置,配置文件 /etc/cvs/cvs.conf:
CVS_REPOS=”/home/cvsroot”
初始化的数据仓库的目录
cvs  -d /home/cvsroot  init
初始化/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 设置有读写权限的用户清单 (系统默认没有此文件,必须手工添加)
随后修改cvsroot用户主目录属性如下:
chown -R cvsroot.cvs /home/cvsroot
chmod -R ug+rwx /home/cvsroot
chmod 644 /home/cvsroot/CVSROOT/config
到此为止,CVS服务器的基本配置就做完了。在命令行下输入以下指令来登陆CVS服务器:
cvs? -d :pserver:cvsroot@192.168.7.183:/home/cvsroot login
如果出现:*****CVS exited normally with code 0*****表示登陆成功。
为了系统的安全性,需要修改/home/cvsroot/CVSROOT下的相应配置文件,可以查看其他文档,此处仅仅考虑一个可用平台的搭建过程。
4.用户管理:
CVS服务端配置好后管理人员就需要创建用户,可以通过以下命令创建虚拟用户来作为CVS的用户:
Useradd  –g cvs –M username
此处还是使用了SystemAuth,CVS独立认证参看其他文档。
5.Windows客户端安装配置:
 安装了WINCVS中文网站版本,www.8848software.com/wincvs, 该版本包含的用户手册比较详细,在此不再赘述,也感谢paladin.lin和SCMChina ++C为该文档作出的工作。
                                                                   redsnow于南京
                                                                     2007-4-23


时间:2007-05-21 00:55 来源: 作者:articleman 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量