cvs的使用

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.1
cvs -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.in

3.import 0.9.2
cvs -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一起使用

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值