CVS使用手记

jackxiang 2008-7-15 13:07 | |
由于要作项目开发,考虑到就几个人同时开发,于是想用下CVS
CVS ---Concurrent Versions system(并发版本管理系统)是一个版本控制管理系统,他是目前最为广泛使用的一个系统.大家只要曾经下载过linux的软件源代码(比如tar.gz的文件)你可以在没一个目录下看到CVS目录,那就说明他的软件是CVS进行控制的.
目前基本上流行的Linux发布版本都自带有cvs.

CVS初始化
---------------------------------
----------------------------------
环境设置:指定CVS库的路径CVSROOT
tcsh中设置
setenv CVSROOT /yourpath
bash中设置
export CVSROOT=/yourpath
初始化:
%cvs init
这时会在你的$CVSROOT目录下产生CVSROOT目录,下面是他生成的一些文件.
尽量不要去改变他.
一个项目的导入:
现在把我们的项目导入到CVS中去
%cvs import -m "your comment message" yourprojectname vendor_tag release_tag
执行后,会把当前目录下的所有文件(包括子目录)导入到/yourpath/yourprojectname目录中去

vender_tag:开发伤标记
release_tag:版本发布标记
现在你可以删去原来的源代码了.
ok,现在可以使用CVS了,找到一个合适的目录执行
%cvs checkout project_name
cvs将创建project_name目录,并将最新版本的源代码导出到相应的目录中.

CVS的基本使用
----------------------------------
----------------------------------
当你执行过cvs checkout,就不要来再次导出了,以后只要使用
%cvs update
来同步文件,如果连带子目录也要同步,就必需使用
%cvs update -d 了.
添加文件:
当你新写了一个文件后,可以使用
%cvs add filename来提交
这时其实文件并没有真正的提交,\如果要确定提交,使用下面的命令
%cvs commit -m "your comment"
删除文件:
%cvs rm filename
%cvs commit -m "why delete this file(s)"
导出发布不代CVS目录的源代码
如果系统完成了,需要发布,使用cvs export命令,不过export只是针对一个TAG或者日期导出,可以是这些命令方式:
%cvs export -r release1 project_name
%cvs export -D 20040303 project_name
%cvs export -D now project_name
对于cvs client端,如果使用linux,则已经有了,如果是windows,就使用wincvs吧.
这里要考虑到cvs的远程认证,我们使用cvs本身的pserver的认证方式
首先在服务器端建立启动文件
#cd /etc/xinted.d/
#cat cvsperver
# default: off
service cvspserver
{
disable = no
port = 2401
socket_type = stream
wait = no
#only_from = 127.0.0.1
user = apache
server = /usr/bin/cvs
passenv =/wpm-source/CVSROOT/passwd
server_args =-f --allow-root=/wpm-source pserver
log_on_failure += USERID
}
重新启动xinted
#kill -HUP xinted
然后进入你的$CVSROOT/CVSROOT目录,要建立passwd文件
这个文件的格式是
username:password:map_system_user
其中密码加密方式和apache中的加密方式一样,于是我们可以这样作:
#htpasswd -c passwd yourname
#cat passwd
yourname:sEylx9?G:apache
注意passwd文件后面的passwd是后来手工加入的.
如果你觉得这样麻烦,你可以使用cvstrac来管理.
cvstrac可以在
http://www.cvstrac.org
下载,我使用了,暂时还没有发现他的好处.
在客户端使用下面的命令来将项目导出
%cvs -d :pserver:yourname@yourip(or hostanme)#port/yourcvsroot checkout yourprojectname
这样就会在当前目录下建立yourprojectname的目录了.
现在你就可以在这个目录下做你的工作了.做完后,使用cvs基本使用中提到的命令来修改,更新和添加文件,就象在本地使用一样.
你最好设立这样的环境变量,这样下次开机就不要输入重复的命令
在/etc/profile文件中加入这样两行
CVSROOT=:pserver:yourname@cvsrootipaddress#port/cvsroot
export CVSROOT
就可以了.

使用感想:
使用了几天,感觉很不错,至少我不要担心文件会被几个人同时修改,也能保证文件统一管理和及时同步,又能随时发布问题的开发版本.
如果真是要做项目开发,使用这样类似的软件是很有必要的.windows下面使用的是Visual SourceSafe.我没有用过.

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1142/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]