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

cvs 使用手册

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

内容摘要:

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