2007年5月4日星期五

CVS+Putty+WinCVS轻松实现版本控制

CVS+Putty+WinCVS轻松实现版本控制简介

KEYWORDS:CVS WinCVS CVSROOT

内容摘要:
cvs 是一个版本控制系统。使用它,可以记录下你的源文件的历史。

你当然可以把曾经创建的每个文件的所有版本都保存下来。但这会浪费大量的磁盘空间。 而cvs用一种聪明的办法把一个文件的所有版本保存在一个文件里,仅仅保存不同版本之间的差异。

本文介绍CVS版本控制的轻松实现。

  • CVS服务端的初始化;
  • Linux下CVS客户端日常使用
  • WinCVS

1、CVS服务端的始化
环境设定,指定CVS库的路径CVSROOT
export CVSROOT=/app/cvsroot/
CVS版本库的初始化
cvs init
2、Linux下CVS客户端日常使用
以下是CVS最常用的功能,可能不到它全部命令选项的10%,作为一般开发人员平时会用cvs update和cvs commit就够了,更多的需求在实际应用过程中自然会出现,不时回头看看相关文档常会有意外的收获。
CVS的远程认证通过SSH远程访问CVS,CVS服务器是192.18.1.10,上面CVSROOT路径是/app/cvsroot,另外一台开发客户机是192.168.1.11。如果test在2台机上都有同名的帐号,那么从192.168.1.11上设置:
export CVSROOT=:ext:test@192.168.1.10:/app/cvsroot
export CVS_RSH=ssh
  • 一个项目的首次导入
cvs import -m "Write some comments here" project_name vendor_tag release_tag
eg:cvs import -m "Technologe Documents" Tech vendor release
项目导出
  • 把项目从CVS库中导出来
cvs checkout project_name
eg:cvs checkout Tech
cvs将创建Tech目录,将最新版的Tech项目内容导出到Tech目录中。
  • 将文件同步到最新版本
cvs update
cvs update file_name
最好在每天开如工作前或将自己的工作导入到CVS库里前都要做一次,并养成“先同步 后修改”的惯,版本冲突一般是在多个人修改一个文件造成的,但这种项目管理上的问题不应该指望由CVS来解决。
  • 确认修改写入到CVS库里
cvs commit -m "write some comments here" file_name
CVS的很多动作都是通过cvs cmmit进行最后确认并修改的,最好每次只修改一个文件。在确认前还需要用户填写修改注释,以帮助其他开发人员了解修改原因。
  • 修改某个版本注释
cvs admin -m 1.2:"write shome comments here" file name
  • 添加文件
cvs add new_file
对于图片,word文档等非线文本的项目,需要使用2进制文件方式导入:
cvs add -kb new_file.gif
  • 删除文件
cvs rm -f file_name
cvs ci -m "why delete file"
  • 查看修改历史
cvs log file_name
cvs history file_name
  • 查看当前文件不同版本的区别
cvs diff -r1.3 -r1.5 file_name
  • 通过CVS恢旧版本
cvs update -p -r1.2 file_name >file_name
项目发布导出不带CVS目录的源文件
cvs export -r release1 project_name
cvs export -D 20070520 project _name
cvs export -D now project_name
  • 项目多分支同步开发
确认版本里程碑:
cvs tag release_2_0
开始一个新的里程碑:
cvs commit -r 3
标记所有文件开始进入3.x的开发
  • 建立版本分支
在开发项目的3.x版本的进修发现2.x有问题,但2.x又不敢用,则从先前标记的里程碑:release_2_0导出一个分支release_2_0_patch
cvs rtag -b -r release_2_0 release_2_0_patch proj_dir
3、WinCVS
下载:下载cvs Windows客户端1.2版,PuTTY 0.60版。
安装好以上两个软件后:
WinCVS客户端的admin-->preference设置
general选单里设置CVSROOT:
test@192.168.1.10:/app/cvsroot
Authorization:选择SSH sever
设置CVS使用基于公钥/私钥的SSH认证:RSA identity(eg:test.ppk)
注:PuTTY中SSH公钥/私钥的产生配置参见:http://yangdeyou.blogspot.com/2007/04/linuxauthentiaction-key-2007-4-28.html
Port选单里:
选择上:check for altermate rsh name
设置ssh的路径,因为安装的是PuTTY,设置PuTTY的command命令路径,一般在:c:\Program File\PuTTY\plink.exe
现在就可以使用WinCVS进行CVS操作了。

没有评论: