cvs的使用

来源:互联网 发布:linux教程视频 编辑:程序博客网 时间:2024/04/29 12:18

cvs的使用

如果简单的使用,完全可以用RCS来做

mkdir RCS用ci -i <file>来初始化文件用co file来得到文件

 

如果使用xinetd,在/etc/xinetd.d中加入

        service cvspserver        {                disable = no                socket_type  = stream                protocol  = tcp                wait   = no                user    = root                server   = /usr/bin/cvs                server_args  = -f --allow-root=/u/cvsroot pserver        }        

然后重启xinetd

#service xinetd restart

 

如果使用inetd,在/etc/inetd.conf中加入一行

        cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/rep pserver       
重启inetd

 

import : 在目录A中运行cvs -d/u/cvsroot import A vinit rinit把A下面的文件放到cvs中

在源程序中使用cvs,见“在文件中记录版本信息”一节

删除目录和删除文件有些类似:用户既希望在当前工作目录中删除一个目录,同时又希望该目录在老版本中依然存在。 删除目录的方法就是删除目录下的所有文件。用户不能直接删除目录本身,目前CVS中也没有方法可以办 到这一点。可以在cvs update或cvs checkout命令中使用-P选项来让CVS删除工作目录中的空目录(注意 cvs export命令总是删除空目录的)。可能最好的办法就是每次在上面的命令中指定-P-P选项。如果用户 希望在工作目录中保留一个空目录,将不得不在该目录中随便放一个文件(例如放一个.keepme)文件来防 止它被带-P的命令删掉。

把文件变成是二进制文件用cvs admin -kb *

cvs -n -q update 看看修改了什么东西,不是真正的update

通过修改cvs的CVSROOT模块,可以配置cvs的参数

CVS Branch:项目多分支同步开发

cvs tag release_1_0 #不需要cvs commit -r 2 #标记所有文件开始进入2.x的开发 cvs rtag -b -r release_1_0 release_1_0_patch proj_dir cvs checkout -r release_1_0_patch  #导出release_1_0_patch这个分支:解决1.0中的紧急问题cvs tag release_1_0_patch_1 #在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号 #如果2.0认为这些错误修改在2.0里也需要,也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中:cvs update -j release_1_0_patch_1         

如何在cvs Tracking sources

1。first import 0.9.1cvs -d  /home/lsb/test/cvsroot import -m "Import of freeradius v. 0.9.1" freeradius FREERADIUS_DIST FREERADIUS_0_9_1(FREERADIUS_DIST为一个分支FREERADIUS_0_9_1为一个版本号)2.edit configure.in3.import 0.9.2cvs -d  /home/lsb/test/cvsroot import -m "Import of freeradius v. 0.9.2" freeradius FREERADIUS_DIST FREERADIUS_0_9_2#如果与head不一样,要同步        

用ssh做tunnel来使用cvs服务器

见 How To Use CVS pserver with SSH

假设cvs 服务器为192.168.0.2,开发的机器是192.168.0.3

为增加安全性,可以在/etc/xinetd.d/cvspserver中加only_from = 127.0.0.1 保证只能有127.0.0.1来使用cvs服务器

在开发机器中openssh client配置,在 ~/.ssh/config增加

Host cvs-tunnel        HostName 192.168.0.2        User lsb        LocalForward 2401 127.0.0.1:2401
然后运行
ssh cvs-tunnel -f sleep 9000
(可以用ssh-agent和ssh-add或者用keychain 来实现用key来认证的服务) 用ssh-keygen生成key, 把publickey放到目标机器中,见 OpenSSH 密钥管理,第 1 部分 然后在.bash_profile中增加keychain,就可以不要密码登陆了

 

然后用cvs来连接就是了,CVSROOT为

CVSROOT=:pserver:lsb@127.0.0.1:/u/cvsroot

 

用ssh来访问cvs服务器

不需要开pserver,只要开ssh服务就可以使用了

最好使用key来访问sshd,就不需要每一次输入密码了

cvs协议用ssh,和putty一起使用