工作思路: 在一台服务器上建立一个代码仓库(repository),其中存放了许多项目的源程序,由管理员管理这些源程序, 每个用户在使用仓库前,把仓库里的项目文件下载到本地,先在本地修改,然后用cvs命令提交.
CVS在SCCS和RCS的基础上开发 CVS Concurrent Version System SCCS Source Code Control System RCS Revision Control System
工作思路: 在一台服务器上建立一个代码仓库(repository),其中存放了许多项目的源程序,由管理员管理这些源程序, 每个用户在使用仓库前,把仓库里的项目文件下载到本地,先在本地修改,然后用cvs命令提交.
1.服务端 # groupadd cvs # useradd cvsroot -g cvs -s /sbin/nologin [cvsroot@]$ chmod 771 . [cvsroot@]$ cvs -d /home/cvsroot init 加入到xinetd启动 /etc/xinetd.d/cvspserver service cvspserver { socket_type = stream wait = no user = root server = /usr/bin/cvs server_args = -f --allow-root=/home/cvsroot pserver log_on_failure += USERID } # chmod 644 cvspserver # service xinetd restart 编辑/etc/group加入可以使用CVS的用户名 cvs:x:501:iry,iryshe
2.客户端 $ export CVSROOT=:pserver:iry@192.168.1.1:/home/cvsroot $ cvs login or $ cvs -d :pserver:iry@192.168.1.1:/home/cvsroot
3.管理CVS服务器 在/home/cvsroot/CVSROOT中有三个配置文件: passwd, readers, writers passwd: cvs用户列表文件 {cvs username}:[encrypted password]:[等效的系统用户名]
4. 操作 $ cvs 动作 文件名 动作: login, logout, commit, checkout, update, status, diff, log, add, remove eg. cvs diff -c index.php 如果不指定文件名,则cvs会操作当前目录下所有的文件和子目录
新增文件: a. edit a new file b. cvs add filename c. cvs commit filenmae -m ""
新增目录: a. mkdir dirname b. cvs add dirname
删除文件: a. rm filename b. cvs remove filename c. cvs commit -m "" filename
删除目录: a. cd dirname && rm * -f b. cvs remove * c. cvs commit -m "" * d. cvs update -P //告诉cvs服务器删除空目录
更改文件名: a. mv oldfile newfile b. cvs remove oldfile c. cvs add newfile d. cvs commit -m "" oldfile newfile
新建CVS项目: a. cd php-project b. cvs import -m "" php-project v_1_0_0 start