CVS使用

来源:互联网 发布:pandorabox 软件源 编辑:程序博客网 时间:2024/04/28 14:58

1, cvs update

cvs update -A   //clear stick
cvs update -d   //create new file

2, cvs diff 

转一篇:

粘滞性标签(Sticky Tag)
在CVS中,如果检出时指定版本树上的一个版本,对它进行的修改是无法直接提交的,这种情况下就叫Sticky Tag。解决方法可以是:

方法一:
1、要提交必须先在检出版本的地方创建分支,更新到分支,再修改提交到分支上。步骤如下:
从先前标记的里程碑:release_1_0 导出一个分支 release_1_0_patch:
cvs rtag -b -r release_1_0 release_1_0_patch proj_dir
2、在另外一个目录下导出 release_1_0_patch 这个分支,修改其中的bug:
cvs checkout -r release_1_0_patch
3、在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号:
cvs tag release_1_0_patch_1

方法二:
或者用"cvs update -A"命令更新,去掉粘滞性标签,-A选项将从文件版本更新到主干顶部,并且忽略中间的任何粘性标签、设置日期和选项。

正确的通过CVS恢复旧版本的方法
如果用cvs update -r 1.2 file.name
这个命令是给 file.name 加一个Sticky Tag: "1.2" ,虽然你的本意只是想将它恢复到1.2版本
正确的恢复版本的方法是:cvs update -p -r 1.2 file_name > file_name
如果不小心已经加成Sticky Tag的话:用cvs update -A 解决

恢复
CVS中被Remove的文件
如果是执行了remove命令而没有提交的话,直接运行"cvs add 被删除的文件名"即可。
如果是执行了remove后又执行了commit,就要先运行"cvs add 文件名",然后选中这个文件,执行update,然后再执行commit。如:
cvs -r x.x(删除时的版本号) file > file
cvs add filename
cvs ci -m "file" file
注释:file是要恢复的文件名

移动文件/文件重命名
cvs里没有cvs move或cvs rename,因为这两个操作是可以由先cvs remove old_file_name,然后cvs add new_file_name实现的。

查看修改历史
cvs log file_name
cvs history file_name

删除/移动目录
最方便的方法是让管理员直接移动,删除CVSROOT里相应目录(因为CVS一个项目下的子目录都是独立的,移动到$CVSROOT目录下都可以作为新的独立项目:好比一颗树,其实砍下任意一枝都能独立存活),对目录进行了修改后,要求其开发人员重新导出项目cvs checkout project_name 或者用cvs update -dP同步。

项目多分支同步开发
确认版本里程碑:
cvs tag release_1_0
多个文件各自版本号不一样,项目到一定阶段,可以给所有文件统一指定一个阶段里程碑版本号,方便以后按照这个阶段里程碑版本号导出项目,同时也是项目的多个分支开发的基础。

开始一个新的里程碑:
cvs commit -r 2 标记所有文件开始进入2.x的开发
注意:CVS里的revsion和软件包的发布版本可以没有直接的关系。但所有文件使用和发布版本一致的版本号比较有助于维护。

版本分支的建立:
在开发项目的2.x版本的时候发现1.x有问题,但2.x又不敢用,则从先前标记的里程碑:release_1_0导出一个分支 release_1_0_patch
cvs rtag -b -r release_1_0 release_1_0_patch proj_dir

一些人先在另外一个目录下导出release_1_0_patch这个分支:解决1.0中的紧急问题,
cvs checkout -r release_1_0_patch
而其他人员仍旧在项目的主干分支2.x上开发

在release_1_0_patch上修正错误后,标记一个1.0的错误修正版本号
cvs tag release_1_0_patch_1

如果2.0认为这些错误修改在2.0里也需要,也可以在2.0的开发目录下合并release_1_0_patch_1中的修改到当前代码中:
cvs update -j release_1_0_patch_1


以上内容转载自车东的“CVS使用手册”和“加菲猫的SE-Blog”。


参考资料

1、CVS使用手册
2、CVS中文手册
3、CVS Home
4、CVSNT
5、WinCVS中文版
6、CVSNT用户权限设置

原创粉丝点击