LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

cvs 使用手册

admin
2010年9月30日 8:48 本文热度 3695

内容摘要:


CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。工作模式如下:


CVS服务器(文件版本库)


/ | \


(版 本 同 步)


/ | \


开发者1 开发者2 开发者3


作为一般开发人员挑选2,6看就可以了,CVS的管理员则更需要懂的更多一些,最后还简单介绍了一些Windows下的cvs客户端使用,CVS远程用户认证的选择及与BUG跟踪系统等开发环境的集成问题。



  1. CVS环境初始化:CVS环境的搭建 管理员
  2. CVS的日常使用:日常开发中最常用的CVS命令, 开发人员 管理员
  3. CVS的分支开发:项目按照不同进度和目标并发进行 管理员
  4. CVS的用户认证:通过SSH的远程用户认证,安全,简单 管理员
  5. CVSWEB:CVS的WEB访问界面大大提高代码版本比较的效率 管理员
  6. CVS TAG:将$Id$ 加入代码注释中,方便开发过程的跟踪开发人员
  7. CVS vs VSS: CVS和Virsual SourceSafe的比较 开发人员 管理员
  8. WinCVS: 通过SSH认证的WinCVS认证设置
  9. 基于CVSTrac的小组开发环境搭建:通过CVSTrac实现web界面的CVS用户管理,集成的BUG跟踪和WIKI交流
  10. CVS中的用户权限管理:基于系统用户的CVS权限管理和基于CVSROOT/passwd的虚拟用户管理




一个系统20%的功能往往能够满足80%的需求,CVS也不例外,以下是CVS最常用的功能,可能还不到它全部命令选项的20%,作为一般开发人员平时会用cvs update和cvs commit就够了,更多的需求在实际应用过程中自然会出现,不时回头看看相关文档经常有意外的收获。


http://www.freebsd.org/cgi/cvsweb.cgi


CVSWEB的下载:CVSWEB从最初的版本已经演化出很多功能界面更丰富的版本,这个是我个人感觉安装设置比较方便的:


原先在:http://www.spaghetti-code.de/software/linux/cvsweb/,但目前已经删除,目前仍可以在本站下载CVSWEB,其实最近2年FreeBSD的CVSWeb项目已经有了更好的发展吧,而当初没有用FreeBSD那个版本主要就是因为没有彩色的文件Diff功能。


下载解包:


tar zxf cvsweb.tgz


把配置文件cvsweb.conf放到安全的地方(比如和apache的配置放在同一个目录下),


修改:cvsweb.cgi让CGI找到配置文件:


$config = $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';


转到/path/to/apache/conf下并修改cvsweb.conf:



  1. 修改CVSROOT路径设置:


    %CVSROOT = (


    'Development' => '/path/to/cvsroot', #<==修改指向本地的CVSROOT


    );


  2. 缺省不显示已经删除的文档:


    "hideattic" => "1",#<==缺省不显示已经删除的文档


  3. 在配置文件cvsweb.conf中还可以定制页头的描述信息,你可以修改$long_intro成你需要的文字


CVSWEB可不能随便开放给所有用户,因此需要使用WEB用户认证:


先生成 passwd:


/path/to/apache/bin/htpasswd -c cvsweb.passwd user


修改httpd.conf: 增加


<Directory "/path/to/apache/cgi-bin/cvsweb/">


AuthName "CVS Authorization"


AuthType Basic


AuthUserFile /path/to/cvsweb.passwd


require valid-user


</Directory>


http://cvsgui.sourceforge.net


ssh Windows客户端


http://www.networksimplicity.com/openssh/


安装好以上2个软件以后:


WinCVS客户端的admin==>preference设置


1 在general选单里


设置CVSROOT: username@192.168.0.123:/home/cvsroot


设置Authorization: 选择SSH server


2 Port选单里


钩上:check for alternate rsh name


并设置ssh.exe的路径,缺省是装在 C:\Program Files\NetworkSimplicity\ssh\ssh.exe


然后就可以使用WinCVS进行cvs操作了,所有操作都会跳出命令行窗口要求你输入服务器端的认证密码。


当然,如果你觉得这样很烦的话,还有一个办法就是生成一个没有密码的公钥/私钥对,并设置CVS使用基于公钥/私钥的SSH认证(在general 选单里)。


可以选择的diff工具:examdiff


下载:


http://www.prestosoft.com/examdiff/examdiff.htm


还是在WinCVS菜单admin==>preference的WinCVS选单里


选上:Externel diff program


并设置diff工具的路径,比如:C:\Program Files\ed16i\ExamDiff.exe


在对文件进行版本diff时,第一次需要将窗口右下角的use externel diff选上。 GNU Public License


在inetd里加入cvspserver服务:


cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver


xietd的配置文件:%cat cvspserver


service cvspserver


{


disable = no


socket_type = stream


wait = no


user = apache


server = /usr/bin/cvs


server_args = -f --allow-root=/home/cvsroot pserver


log_on_failure += USERID


}


注意:这里的用户设置成apache目的是和/home/cvsroot的所有用户一致,并且必须让这个这个用户对/home/cvsroot/下的 CVSROOT/passwd和cvstrac初始化生成的myproj.db有读取权限。


安装过程



  1. 下载:可以从http://www.cvstrac.org 下载


    我用的是已经在Linux上编译好的应用程序包:cvstrac-1.1.2.bin.gz,


    %gzip -d cvstrac-1.1.2.bin.gz


    %chmod +x cvstrac-1.1.2.bin


    #mv cvstarc-1.1.1.bin /usr/bin/cvstrac


    如果是从源代码编译:


    从 http://www.sqlite.org/download.html 下载SQLITE的rpm包:


    rpm -i sqlite-devel-2.8.6-1.i386.rpm


    从 ftp://ftp.cvstrac.org/cvstrac/ 下载软件包


    解包,假设解包到/home/chedong/cvstrac-1.1.2下,并规划将cvstrac安装到/usr/local/bin目录下, cd /home/chedong/cvstrac-1.1.2 编辑linux-gcc.mk:


    修改:


    SRCDIR = /home/chedong/cvstrac-1.1.2


    INSTALLDIR = /usr/local/bin


    然后


    mv linux-gcc.mk Makefile


    make


    #make install



  2. 初始化cvstrac数据库:假设数据库名是 myproj


    在已经装好的CVS服务器上(CVS库这时候应该已经是初始化好了,比如:cvs init初始化在/home/cvsroot里),运行一下


    %cvstrac init /home/cvsroot myproj


    运行后,/home/cvsroot里会有一个的myproj.db库,使用CVSTRAC服务,/home/cvsroot/myproj.db /home/cvsroot/CVSROOT/readers /home/cvsroot/CVSROOT/writers /home/cvsroot/CVSROOT/passwd这几个文件对于web服务的运行用户应该是可写的,在RedHat8上,缺省就有一个叫 apache用户和一个apache组,所以在httpd.conf文件中设置了用apache用户运行web服务:


    User apache


    Group apache,


    然后设置属于apache用户和apache组


    #chown -R apache:apache /home/cvsroot


    -rw-r--r-- 1 apache apache 55296 Jan 5 19:40 myproj.db


    drwxrwxr-x 3 apache apache 4096 Oct 24 13:04 CVSROOT/


    drwxrwxr-x 2 apache apache 4096 Aug 30 19:47 some_proj/


    此外还在/home/cvsroot/CVSROOT中设置了:


    chmod 664 readers writers passwd



  3. 在apche/cgi-bin目录中创建脚本cvstrac:


    #!/bin/sh


    /usr/bin/cvstrac cgi /home/cvsroot


    设置脚本可执行:


    chmod +x /home/apache/cgi-bin/cvstrac



  4. 从 http://cvs.server.address/cgi-bin/cvstrac/myproj 进入管理界面


    缺省登录名:setup 密码 setup


    对于一般用户可以从:


    http://cvs.server.address/cgi-bin/cvstrac/myproj


  5. 在setup中重新设置了CVSROOT的路径后,/home/cvsroot


    如果是初次使用需要在/home/cvsroot/CVSROOT下创建passwd, readers, writers文件


    touch passwd readers writers


    然后设置属于apache用户,


    chown apache.apache passwd readers writers


    这样使用setup用户创建新用户后会同步更新CVSROOT/passwd下的帐号




修改登录密码,进行BUG报告等,


更多使用细节可以在使用中慢慢了解。


对于前面提到的WinCVS在perference里设置:


CVSROOT栏输入:username@ip.address.of.cvs:/home/cvsroot


Authenitication选择:use passwd file on server side


就可以了从服务器上进行CVS操作了。


http://www.cvshome.org


CVS FAQ:


http://www.loria.fr/~molli/cvs-index.html


相关网站:


http://directory.google.com/Top/Computers/Software/ Configuration_Management/Tools/Concurrent_Versions_System/


CVS--并行版本系统


http://www.soforge.com/cvsdoc/zh_CN/book1.html


CVS 免费书:


http://cvsbook.red-bean.com/


CVS 命令的速查卡片:


http://www.refcards.com/about/cvs.html


WinCVS:


http://cvsgui.sourceforge.net/


CVSTrac: A Web-Based Bug And Patch-Set Tracking System For CVS


http://www.cvstrac.org


StatCVS:基于CVS的代码统计工具:按代码量,按开发者的统计表等


http://sourceforge.net/projects/statcvs


如何在WEB开发中规划CVS上:在Google上查 "cvs web development"


http://ccm.redhat.com/bboard-archive/cvs_for_web_development/index.html


该文章在 2010/9/30 8:48:07 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved