• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

为编程开发准备一台友好的CVS服务器

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: 互连网

软件测试论坛讨论

领测软件测试网

    真正做起来开发工作,才发现一台CVS服务器是必不可少的,即使是很少的开发人员的项目,使用CVS也会起到很大的作用,具体什么作用,大家去体会:)


    下面就把我架设CVS服务器的过程说说,和诸位前辈的不同之处在于我架设了一个WEB界面,所以说是"友好的",通过WEB界面可以非常直观的浏览代码,查看图形化的修改记录,(提交可以log到MySQL数据库--This feature is a clone of the Mozilla Projects Bonsai database.),目前SourceForge正在使用此界面的较低版本.


功能简介:
1:Base CVS Server;
2:repository browsing.
3:SQL checkin database.
4:Colorize sourcecode.
5:Can display a clickable, graphical of files in a CVS repository.
6:generate tarball from a repository on the fly.



OK,Lets go!


1:初始化环境


#groupadd cvs


#mkdir /home2/cvsroot
#useradd -g cvs -G cvs -d /home2/cvsroot cvsroot


#su - cvsroot
$chmod 775 .


OK!


2:启动CVS Server
诸位大虾已经有了很精辟的说明,拿来就是了!:P


#more /etc/services|grep cvspserver
cvspserver 2401/tcp # CVS client/server operations
cvspserver 2401/udp # CVS client/server operations


OK,RedHat系统不傻,可以写脚本了.


#vi /etc/xinetd.d/cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home2/cvsroot pserver
log_on_failure += USERID
}


:wq


#ls /etc/xinetd.d/cvspserver
/etc/xinetd.d/cvspserver


脚本好了!


#su - cvsroot
$cvs -d /home2/cvsroot init
#service xinetd restart


看看有没有?


#netstat -l |grep cvspserver
tcp 0 0 *:cvspserver *:* LISTEN


Great!



3:Add a Web Interface,viewcvs-0.9.2



URL:http://viewcvs.sourceforge.net/


要求比较个性,很多很多!列表:


a:
Python 1.5 or later(http://www.python.org/)
Rh7.2竟然有两个python,1.5和2.1,更加有个性!
b:
RCS, Revision Control System(http://www.cs.purdue.edu/homes/trinkle/RCS/)
Rh7.2自带.
c:
read-only, physical access to a CVS repository(See http://www.cvshome.org/ for more information)
Rh7.2自带.
d:
a web server capable of running CGI programs(for example, Apache at http://httpd.apache.org/)
viewcvs-0.9.2文档竟然说apache是可选项:(
e:
GNU-diff to replace broken diff implementations(http://www.gnu.org/software/diffutils/diffutils.html)
Rh7.2自带.
f:MySQL to create and query a commit database(sql.com/">http://www.mysql.com/)
Rh7.2自带.
g:(sql-python)(and">http://sourceforge.net/projects/mysql-python)(and Python 1.5.2 or later)
去拉
h:Enscript to colorize code displayed from the CVS repository(http://people.ssh.com/mtr/genscript/)
去拉
i:CvsGraph for a graphical representation of the CVS revisions(http://www.akhphd.au.dk/~bertho/cvsgraph/)
去拉


#tar zxvf cvsgraph-1.1.3.tar.gz
#cd cvsgraph-1.1.3
#./configure
#make
#cp cvsgraph /usr/bin
#mkdir /etc/cvsgraph
#cp cvsgraph.conf /etc/cvsgraph


#rpm -ivh egenix-mx-base-2.0.3-py2.1_1.i386.rpm
#rpm -ivh MySQL-python-0.9.1-1py2.i386.rpm



#tar zxvf viewcvs-0.9.2.tar.gz
#cd viewcvs-0.9.2
#./viewcvs-install
#cp /usr/local/viewcvs-0.9.2/cgi/viewcvs.cgi /var/www/cgi-bin


#cp /usr/local/cvsview-0.9.2/PyFontify* /usr/lib/python2.1/
#cp /usr/local/cvsview-0.9.2/py2html* /usr/lib/python2.1/
OK!


/**********MySQL****************/
建两个用户,cvsroot(password:cvsroot)使用root权限,cvsread(password:cvsread)
使用只读权限.


#/usr/local/cvsview-0.9.2/make-datebase
OK!


#vi /usr/local/viewcvs-0.9.2/viewcvs.conf
cvs_roots =
Development : /home2/cvsroot


rcs_path = /usr/bin/


address = hleil@vmail.com


[cvsdb]


host = localhost
database_name = ViewCVS
user = cvsroot
passwd = cvsroot
readonly_user = cvsread
readonly_passwd = cvsread
row_limit = 1000


py2html_path = /usr/lib/python2.1


enscript_path = /usr/bin/


allow_tar = 1


use_cvsgraph = 1



********************************************************
***如果同时安装python-1.x和python-2x(比如RedHat7.2)
***以下千万注意(我们使用python-2.x)
********************************************************
cd /usr/local/viewcvs-0.9.2
loginfo-handler,standalone.py,cvsdbadmin
以及
cd /usr/local/viewcvs-0.9.2/cgi下的所有文件,


首行改为:#!/usr/bin/python2


#cp /usr/local/viewcvs-0.9.2/cgi/viewcvs.cgi /var/www/cgi-bin


http://127.0.0.1/cgi-bin/viewcvs.cgi/
OK了!



4:Add user


#usermod -G cvs username #使用系统验证


OK,enjoy CVS!



5:微调


#mkdir /var/lock/cvs
#mkdir /var/lock/cvs/CVSROOT
#chmod -R 775 /var/lock/cvs
#chown -R cvsroot.cvs /var/lock/cvs
#su - hleil
$export CVSROOT=:pserver:cvsroot@vmail.com:/home2/cvsroot
$cvs login
$cvs checkout CVSROOT
$cd CVSROOT
$vi loginfo
ALL (echo %{sVv}; cat) | /usr/local/viewcvs-0.9.2/loginfo-handler #SQL checkin
:wq


$vi config
SystemAuth=yes #使用系统验证
LockDir=/var/lock/cvs #for security
LogHistory=all
:wq


$cvs commit
#service xinetd restart



Great!终于好了!


呵呵,下面就开始你的代码之旅吧!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网