本文主要是介绍CVS版本控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
roc
2005年8月10日
10:02
最近一期在研究《版本控制之道——使用CVS》,其中主要讲解的CVS,但由于本书并不涉及到CVS、SSH等服务器端的配置,其中涉及到Windows和Linux/Unix两大系列平台,故将自己的一些查找结果作个总结。
由于自己现在使用的是Windows 2003 Server SP1平台,我就首先上网查找了windows下的CVS和SSH服务器,但查来查去也只仅仅查到了CVSNT这个CVS服务器,而且只支持CVS的pserver链接,至今还没有支持SSH连接下的CVS服务器,其实在理论上实现是不无可能的,也许很简单的事情,但没人做,呵呵,我也没有时间编译。SSH的服务器下载使用了Bitvise WinSSHD,客户端使用了SSH Secure Shell。CVS的客户端也真不少,GUI界面的也很多,其中下载了免费的cvs(http://www.cvshome.org )和WinCvs。
今天下午,本来是休息的时候,但由于在家里面也无聊,就来学校上网看电影,闲来无事,就想起了,只找Windows平台下,可是据查CVS起初源于Linux/UNIX,而且还可以在Linux平台下配置SSH+CVS服务器的,于是想探究Linux平台下的CVS的优势(毕竟用SSH链接CVS仓库安全呀!^)^)。我使用了VMware Workstation 5,安装了Red Hat Enterprise Server 4全部的包,其中就带有CVS和SSH的服务器包。方法大概如下(我也是稀里糊涂的弄出来的,以下都可以使用相应的GUI界面设置,而并不一定要使用shell):{Linux shell使用:Konsole(推荐)或者xterm}。
1.查看是否安装有CVS:
#> rpm -qa | grep cvs
如果出现了cvs-1.11.1p1-3类似的,就说明安装过了,否则就需要安装cvs的rpm包了(我也不太懂Linux,嘿嘿,凑合着边试验边学习吧)
2.创建cvs用户组:
#> groupadd cvs
3.创建cvs组的cvsroot用户和所属目录cvsroot:(实际上我没有创建用户组,而是直接创建了用户帐号cvs,但大概的命令相同)
#> useradd -g cvs -G cvs -d/cvsroot cvsroot
4.为cvsroot用户添加密码:(我是后来才查到这条命令的,随时可以添加)
#> passwd cvsroot(下面系统会出现叫你输入密码)
5.改变cvsroot的目录属性:
#> Chmod 771 /cvsroot
6.改变用户登录身份:
#> su cvsroot
7.开始创建单个项目仓库(我没有这样做,现在才总结觉得要有点条理)
$ 键入cd命令切换至/目录下
$ mkdir project
$ cvs -d /cvsroot/project init
$ chmod 771 /cvsroot/project
$ exit或者CTRL+D切换至root身份
8.建立CVS服务启动文件,使用xinetd方式的文件cvspserver.txt可以使用GUI的gedit或者shell的vi,大致内容如下:(我认为如果采用ssh方式连接,可以将pserver改成ssh和ext)
# default: on
# description: The cvs server sessions:
service cvspserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f -allow-root=/cvsroot ext(参考文章为pserver)
log_on_failure += USERID
}
*9.编写cvs.run脚本(我没有编写,也行)
#> vi /cvsroot/cvs.run
#> /bin/bash
/usr/bin/cvs -f
--allow-root=/cvsroot/project1
--allow-root=/cvsroot/project2
pserver(可能可以改为ext吧,没有试验)
#>chmod +x /cvsroot/cvs.run
*10.加入cvs服务:
编辑/etc下的services文件,添加:
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11.启动CVS服务:
#> /etc/init.d/xinetd restart
12.检查是否启动:
#> netstat -lnp | grep cvspserver(如果没有进行第10步的配置,可以键入netstat -lnp | grep 2401)当显示如下表明已经启动:
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN 4212/xinetd
13.相应的用户配置和cvs命令,呵呵,这里就省略了。
此外还有相关的ssh方面的安全等设置也就省略了,相关资料多的很。
这篇关于CVS版本控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!