10 删除历史记录
如果历史文件过多,或确定有几个阶段的稳定版本,我们可以删除一些历史文件,以保证cvs的性能
cvs admin -o rev1:rev2 filename 删除rev1到rev2的版本,含这两个版本
cvs admin -o rev1::rev2 filename 删除rev1到rev2的版本,不含这两个版本
如果省略rev1,表示删除本分支rev2之前的所有版本
如果省略rev2,表示删除本分支rev1之后的所有版本
cvs admin -o rev filename 删除rev这个版本的文件
注意:有tag的版本不能被删除,所以tag很重要,而且只能删单个文件
CVS服务器的安装和配置
=============================
1 下载源码
------------------------------------
可从很多地方下载cvs,也可从官方ftp://ftp.gnu.org/gnu/cvs/下载
2 安装,同很多源码安装一样
------------------------------------
gunzip cvs-1.10.6.tar.gz
tar xvf cvs-1.10.6.tar
cd cvs-1.10.6
./configure
make
make install
3 包的安装,如果找到具体操作系统的安装包,则见此操作系统的使用说明,比如linux为
------------------------------------
rpm -ivh cvs-1.10.8-3.i386.rpm即可
4 建立Repository
------------------------------------
groupadd cvs(要访问cvs的用户加入此组)
useradd cvsroot
mkdir /home/cvsroot
cvs -d /home/cvsroot init
chown -R cvsroot.cvs /home/cvsroot
chmod -R ug+rwx /homecvsroot
5 配置/etc/services文件
------------------------------------
添加cvspserver,如果有不要加了
cvspserver 2401/tcp # cvs client/server operations
cvspserver 2401/udp # cvs client/server operations
6 配置inetd
------------------------------------
编辑/etc/inetd.conf,加入
cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
如果使用tcpwrappers
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/usr/local/newrepos pserver
如果使用xinetd,编辑/etc/xinetd.d/cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
}
pserver表示是口令认证,如果要用ssh方式则应该是server
--allow-root是Repository的目录,可以有多个此选项来建立多个Repository
7 验证配置成功
cvs login看时候能成功登录,有几个可能失败的地方
用户是否属于cvs组和目录权限
inetd是否正常配置和启动,--allow-root是否写对
8 导入项目
把你的所有项目文件放入prj_dir
cd prj_dir
cvs import -m "this is a cvstest project" prj_dir v_0_0_1 start
v_0_0_1是这个分支的总标记.没啥用(或曰不常用)
start 是每次 import 标识文件的输入层次的标记,没啥用。
Watchers
=============================
cvs提供了watch的功能,来帮助大家了解谁在干什么,谁在对文件做什么操作,它发email通知,以协调大家的工作。
1 开启watch功能
在CVSROOT/notify文件中加入下面行
ALL mail %s -s "CVS notification"
2 设定外部email地址
缺省是把通知信息发给本机的email,要发给别的地址,在CVSROOT/users加入如下内容
hwz:kerlion@netease.com
3 watch文件的修改
cvs watch add filename
cvs watch remove filename
4 watch文件的修改
watch功能是个大家协调的功能,大家必须按一个统一的工作流程来做,如果不cvs edit,cvs没有办法通知修改情况
cvs edit filename
修改文件
cvs unedit filename
5 提醒大家使用watch功能
cvs没有强制使用watch的功能,只有这个功能在用户提交完后自动把文件变为只读的,再使用cvs edit filename可以修改它了
cvs watch on
6 查看那人人再watch
cvs watchers
WinCVS的安装和配置