======================================================================
1. CVS 简介
======================================================================
CVS (Concurrent Versions System) 是基于 TCP/IP 协议的版本控制工具,也
是 Open source 界最重要的开发工具之一。
(如果你还没有“版本控制”的概念可查看相关资料。)
CVS 保存了对项目源码每一次改动的记录,和改动的一些注释。在任何时候,你
都可以找到仓库中任何文件的任何版本。它容许几个人同时工作在同一个文件,
在他们提交文件时来合并他们所做的改动。在改动冲突时会发出警告来通知用
户,确定将此文件的更新版本放入仓库内,发生的冲突由某人解决。
它最基本的开发流程如下所述:
(1)你把你的所有代码倒入 (import) CVS,然后其他人可以检出 (checks out)
源码树的一个工作拷贝。
(2)每个人都工作在自己的本地计算机中,当有一个新的功能出现时,他们会更
新 (update) 他们的本地拷贝来保持和当前版本尽可能同步。他们会提交
(commit) 他们改变的文件到仓库中来生成新的版本。
(3)在提交时出现的问题 CVS 都会产生警告,然后你必须仔细检查出问题的文件
来手工解决冲突。在文件中,改动的部分会在前面以 >>>>>显示,并且列出两个
版本的不同之处。仅删除旧版(或 修改使它能够工作),再次提交文件,一旦
CVS 没有警告返回上一步,继续工作。
======================================================================
2. 准备工作
======================================================================
原则上只有 CnPack 开发组开发成员才拥有帐号修改 CVS 中的文件,如果您还没
有,请与项目管理员(master@cnpack.org)联系。如果您只想从 CVS 中匿名下载最新
的代码和文档,这一步可以省略。
要在 Windows 环境下使用 CVS,我们需要以下工具:
* TortoiseCVS
http://download.cnpack.org/tools/TortoiseCVS.exe
或者:
* WinCVS
http://umn.dl.sourceforge.net/sourceforge/cvsgui/WinCvs120.zip
这是 WinCVS 1.20 稳定版。您也可以自行搜索下载较新的1.3等版本。
======================================================================
3. 匿名访问
======================================================================
TortoiseCVS 是集成在资源管理器中的,所有操作都在资源管理器中完成,非常
方便。
* 安装完成,根据需要重启计算机。
* 打开资源管理器,进入到保存代码的目录
* 在文件列表区空白处点击右键,选择“CVS Check out”
* 在弹出对的对话框中:
- CVSROOT: 输入
:pserver:anoncvs@www.cnpack.org:/var/cvshome/cnpack
- Module(模块): 输入
cnpack
* 点击“OK”,在弹出的对话框中:
- 输入密码:
anoncvs
* 好了,如果没有意外,您现在可以获得一份最新的 CnPack 组件包的源代码了。
* 如果需要 CnWizards 的源码包,可在模块名中输入 cnwizards,其余步骤同上。
如果使用 WinCVS,步骤和上面的类似:
* 选择 Admin 菜单下的 Preference... 或直接按快捷键 Ctrl + F1
* 在弹出的对话框的 General 页中:
- Enter the CVSROOT: 输入
:pserver:anoncvs@www.cnpack.org:/var/cvshome/cnpack
- Authentication: 选择:
'passwd' file on the cvs server
* 点击 OK,选择 Admin 菜单下的 Login,输入密码。
* 选择 Create 菜单下的 Checkout module,输入模块名 cnpack 。
* 好了,如果没有意外,您现在可以获得一份最新的 CnPack 组件包的源代码了。
* 如果需要 CnWizards 的源码包,可在模块名中输入 cnwizards,其余步骤同上。 (注意编译 CnWizards 时同样需要CnPack 组件包。)
在较高版本的 WinCVS 中,CVSROOT 不在Preference 中设置,而允许在做其他
操作比如登录、更新、提交时指定,请予以注意。
另外,为了加快传输速度,建议在 TortoiseCVS 的工具的设置中把“压缩值”
设为 9;WinCVS中是 Preference 菜单中 Globals 页中选中 “Use TCP/IP
Compression”,并把后面的值设成 9。
======================================================================
4. 用它来工作
======================================================================
完全以上面匿名访问的操作,不同之处是,在 CVSROOT 中输入:
:pserver:username@www.cnpack.org:/var/cvshome/cnpack
此处 username 为管理员分配给您的 CVS 用户名,密码使用登录密码。
关于 CVS 及 TortoiseCVS/WinCVS 的更多内容,参见:
http://www.redsaga.com/CVS_newbie_win32/
http://www.soforge.com/wiki
http://www.cvsgui.org/
======================================================================
5. CVS 协同工作的注意事项
======================================================================
CVS 在提交代码时需要填写提交的注释,CnPack 开发组使用统一格式的注释来
达到规范的目的,提交注释的格式如下:
符号 [模块名] 详细注释
其中,“符号”可以是 + # - * ! ^ 六个半角符号之一。解释如下:
+ 增加新功能。
# 新增加的功能,但还不完善,仅仅是开始。
- 删除旧的功能。
* 修正错误。
! 发现的问题,但仍未修正。
^ 计划要完成的功能。
例如:以下是两次提交(注意符号和中括号之间有一空格):
+ [代码编辑器专家] 增加 ASCII 字符表功能。
* [公共单元] AssignPersistent 过程增加对方法类型的处理。
一次提交如果包括多方面的内容,也可以书写多行这样的注释,注意简练不重复。
======================================================================
6. 常见问题解答
======================================================================
问:在 CnPack 开发中,我必须使用 CVS 吗?
答:不是必须的,但我强烈建议大家都使用 CVS 来同步源码。不过管理员也会
定时将 CVS 中的文件打包到网站中供下载使用。
|