cvs笔记
作者: Jeffrey
出处:http://blog.zhangjianfeng.com/?p=641
参考了车东网站 http://www.chedong.com/tech/cvs_card.html
++软件安装部分
$rpm -qa cvs #没有可找光盘rpm包安装,或http://cvs.nongnu.org/下载编译
创建相关用户和组,以后开发用户可以组管理
$groupadd cvs
$useradd cvsroot -g cvs -d /cvsroot/
$passwd cvsroot
++查看配置文件
$cat /etc/services |grep cvspserver #查看是否有以下服务,如果没有,自己加上去。
cvspserver 2401/tcp #CVS client/server operations
cvspserver 2401/udp #CVS client/server operations
++初始化CVS
$mkdir cvsroot
$cvs -d /cvsroot init
++修改启动脚本:
$vi /etc/xinetd.d/cvs
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/cvsroot
server_args = -f –allow-root=/cvsroot pserver
}
++重启CVS
/etc/init.d/xinetd restart
++检查cvspserver服务
netstat -an|grep 2401
++客户端登录
将如下内容添加至~/.bash_profile,然后运行cvs login登录
export CVSROOT=:pserver:cvsusername@cvsserverIP:/cvsroot
或直接使用cvs -d :pserver:cvsusername@cvsserverIP:/cvsroot login
#no news is a good news
++一个项目的首次导入
cvs import -m "write some comments here" project_name vendor_tag release_tag
执行后:会将所有源文件及目录导入到/path/to/cvsroot/project_name目录下
#vender_tag: 开发商标记
#release_tag: 版本发布标记
++项目导出:将代码从CVS库里导出
cvs checkout project_name #cvs 将创建project_name目录,并将最新版本的源代码导出到相应目录中.
++项目文档更新
cd $project_name
cvs update [File_name|File_Folder] #将文档更新至最新版本,“先同步 后修改”是一个好习惯
++提交本地文档
cvs commit -m "write some comments here" file_name #提交修改过的文档
cvs add [-kb] new_file #对于图片,Word文档等非纯文本的文件,需要-kb选项来按2进制文件方式导入(k表示扩展选项,b表示binary)
cvs commit
++删除文件
rm file_name
cvs rm file_name
cvs ci -m "write some comments here"
++添加目录
cd project_name && mkdir dir_name
cvs add dir_name
++查看修改历史
cvs log file_name
cvs history file_name
++查看当前文件不同版本的区别
cvs diff -r1.3 -r1.5 file_name
++恢复旧版本文档
cvs update -p -r1.2 file_name >file_name
++移动文件/文件重命名
mv file_name new_file_name && cvs remove file_name
cvs add new_file_name
++确认版本里程碑(项目到一定阶段给所有文件统一指定一个阶段里程碑版本号)
cvs tag release_1_0
++开始一个新的里程碑:
cvs commit -r 2
++cvs命令缩写形式
commit=>ci; update=>up; checkout=>co/get; remove=>rm;
++多仓库问题
编辑/etc/xinit.d/cvs
service cvspserver
{
….
server = /cvsroot/cvs.run
…
}
编写cvs.run脚本
$vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f
–allow-root=/cvsroot/project1
–allow-root=/cvsroot/project2
pserver
$chmod +x /cvsroot/cvs.run
附:产生md5密码,使用方法./passwd.pl "原始口令字符"
#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift; my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}\n";
++其它
wincvs 很方便的客户端工具
SystemAuth=no 这一行前面的#去掉,CVS就不会验证系统用户了
++email通知功能
Last modified at: Wednesday, October 24th, 2007 03:32:01 amTrackback URL: http://blog.zhangjianfeng.com/article/641/trackback
Tags: cvs, 笔记





















4 Responses to “cvs笔记”