CVS学习笔记

CVS服务器配置:

1. 安装cvsnt for windows版安装程序。

2. 设置PATH到cvs.exe目录,这很重要。 

3. 设置CVS仓库,在控制面板中,打开CVS for NT,在Repositories页面,建立仓库。 

4.在操作系统共享仓库文件夹,且设置可写权限。

5. 建立用户,CVS没有独立用户管理,采用操作系统用户权限,直接建立操作系统用户就可以。 

 

CVS客户端的配置 :

1. 安装TortoiseCVS客户端程序。 

2. CVS登录协议:pserver 服务器:10.212.195.10 端口:(默认端口可不用填写)仓库文件夹:/cvsroot 用户名:user1 模块:FooBar (可以通过“获取列表”,获得所以模块的名称的选择列表) 

3.安装文件冲突比较工具,建议使用WinMerge


 TortoiseCVS使用技巧

 1. CVS创建新模块――在CVS目录中创建个目录,目录下的内容并不会自动加入到CVS仓库中,需要通过添加内容加入到CVS仓库中。

 2. CVS添加内容――获取当前目录下(包括子目录)的文件/文件夹,添加完成后,需要进行提交操作(在目录操作,该目录下所以子目录及文件会批量提交)。

 3. CVS提交――所有需要更新CVS仓库的命令都需要提交确认。

 4. CVS更新――获取当前目录下(包括子目录)的最新版本,如果有冲突会保留本地版本。

 5. 解决冲突――在WinMerge右侧窗体中进行文件合并编辑。冲突解决后提交到CVS。

 6. 从CVS中获取历史版本,在打开文件的历史窗口,选中要恢复的历史版本,点击“保存此版本为”按钮,然后双击本地的同名文件,历史版本获取到本地,如果想更新到CVS中,进行提交操作。

 7. CVS文件夹刷新――文件夹状态不自动刷新,需要手工刷新。

 8. CVS删除文件――选中要删除的文件,点击CVS删除,然后要在该文件的父文件夹上进行提交操作。(删除操作也会遇到冲突问题,避免方法在删除文件前先进行版本同步)。

 9. CVS的Lock/Unlock状态监视器――在创建模块的时候,勾选中选项菜单中的按只读方式取出文件,监视启动后,取出或者更新正在编辑的文件都将被创建为只读的。

10. CVS编辑――获得文件的写权限。(注意,在创建模块时没有开启Lock/Unlock状态监视器则更改编辑状态作用不明显)。选择 CVS编辑 菜单,这个菜单会由于文本文件或者二进制文件而稍微不同。对于二进制文件,例如DOC,TCVS完成更新操作并且检测是否有别的用户也在编辑它。如果有,那么你将不能编辑它,如果是文本文件例如.TXT/.CPP,即使有人在编辑,TCVS仍然允许你编辑它。 

11. CVS取消编辑状态――是否想回复原有版本,这将丢失你所作的修改。(注意,在创建模块时没有开启Lock/Unlock状态监视器则更改编辑状态作用不明显)。 

12. 标签――标签一般都是用在整个模块,以便将来这个模块的当前状态可以回溯。当标签名称输入之后,点击 确定,不像其他CVS操作,TAG标签立即在仓库生效,不需要再 提交。

13. 分支――分支包括(创建分支,获取分支,合并分支)。在一个软件项目周期中,分支是一个很有用的修改控制。例如,如果你已经推出了你的软件的第一个版本1.0,现在你已经在下一个版本2.0增加新功能。此时你的第一个版本发现了BUG,你的新版本的源代码正在开发阶段,推出稳定版本至少需要一个月的时间,因此无法基于最新版本推出一个修正原有BUG的版本。创建分支和获取分支和标签操作类似(注意,合并分支在提交后才会更新到CVS仓库中)。 

14. CVS批注――如果一个项目突然被中断了,准确找出谁是这个错误修改的责任人是非常重要的,这就是CVS注释的用途。在文件的每一行,对话框显示,每一行的修改原因涉及版本,本行的作者,修改时间日期,本行的当前内容。 
---------------------------------------

TCVS和Visual Source Safe™ (VSS) 很多地方不同. 最明显得一点是TCVS不需要锁定正在处理的文件,而VSS默认锁定t.实际上, CVS 文档鼓励用户不使用文件锁定. 几个用户同时修改同一个文件的可能性是很小的, CVS 可以正常的合并他们的冲突. 如果两个或几个人修改了文件的相同行, TortoiseCVS 将包括冲突, 在文件中插入指示, 让开发员决定如何解决. 这种冲突非常稀少, 通常只是出现在缺少沟通的情况下导致如此结果 (例如两个人试图解决同一个问题). 另外一个重要的不同,VSS 是显示服务器视图, TortoiseCVS显示客户端试题. 从实际上来说, 不像 VSS, TortoiseCVS不会主动通知你仓库的变化,除非你自己进行更新, 或者询问一些文件的状态. TortoiseCVS包括的修改状态只是反应你最后一个取出、更新、提交之后的修改。
posted on 2006-07-22 14:42  心悦  阅读(1812)  评论(0编辑  收藏  举报