标题：wincvs
CVS
[1]　CVS是指并发版本系统(Concurrent Versions System)。它是一个版本  相关书籍控制系统，在1986年，开源社区的许多仁人志士开始开发该系统。目前，CVS由维护。CVS的主页是，该主页提供CVS各种平台上的源代码、目标码和文档。
WinCVS
CVS的最大限制是其仅仅使用命令行接口，但是大多数开发员喜欢用GUI，所以世界上一些组织开发了CVS核心的图形前端界面，有些商业公司甚至开发了商业化的前端工具界面。WinCVS是Windows操作系统上最有用的一个CVS前端，它由全世界各地的、具有奉献精神的人们开发。
开始WinCVS之旅
如果你打算使用CVS和WinCVS，你应该先看看有关的文档。在网站上有许多很有用的CVS文档。Per Cederqvist et al所著的Version Management with CVS一书是CVS的“官方”文档，是CVS发烧友的必备之物。该文档有很多格式，例如html和ps格式。它的网址是。该文档通常也叫做Cederqvist手册。另外一个有用的文档是Sverre.H.Huseby所写的WinCVS-每日使用指南。
WinCVS中文版
提供中文的WinCVS界面 
集成了合并比较工具WinMerge中文版 
集成了ssh工具PuTTY(包括putty,plink,pageant,puttygen,psftp等),提供中文的putty界面 
提供WinCVS原有的CVS帮助(HLP英文版)、WinCVS帮助(HLP英文版)、CVS客户服务器协议帮助(HLP英文版) 
提供WinCVS操作手册(PDF中文版)、WinCVS日常使用指南(PDF中文版)
讨论WinCVS中文版
请访问网站的SCM论坛——>CM工具——>CVS/Bugzilla...专栏。
WinCVS相关的超级链接
1.8848software-scmchina 
内容：介绍Concurrent Version System(CVS,并发版本系统)包括WinCVS的简明操作手册。
2.CVSGUI
内容：CVSGUI是CVS前端工具的老巢。她是“A set of GUI front-end for CVS written in C++ and distributed under GNU General Public License (GPL).”
CVS客户端软件WinCVS的配置
1． 软件说明：软件WinCVS是运行在Windows下的一个CVS的客户端软件， 
2． 软件安装：得到WinCVS的安装程序后执行里面的setup.exe文件，安装到你指定的目录下。 
3． 软件的启动：开始－程序－GNU－WinCVS1.3－WinCVS 
4． 软件的配置：在Admin菜单下选择Preferences…，弹出的窗口中选“General”页面，具体设置如下所示： 
Authentication： pserver （认证方式为pserver，这是默认的认证方式） 
Path： /home/cvsroot （在服务器上数据仓库的路径） 
Host address： 192.168.7.183 （服务器的IP地址） 
User name： bjcvs （登陆服务器的用户名） 
CVSROOT： 设置完成上面的项目后，此项会自动生成，在此不必设置 
5． 在“Globals”页面中取消以下两项前面的复选框 
Checkout read-only （如果你选择此项则checkout出来的项目都是只读的） 
Prune(remove) empty directory (不允许目录为空) 
6． “WinCVS”页面中，在“HOME （passwords and ～/.cvs*”后面的填入你本机的一个目录， 
以后你做的check out、check in操作都在此目录下。“Default viewer used to”设置默认得编辑器 
7． “Command Dialogs”页面不用设置。 
8. 选择“Admin”－“login” 后会弹出一个窗口，让你输入密码，这样你就可以登陆到CVS服务器了， 
如果你看到下面的信息说明你的登陆是成功的： 
cvs -z9 login 
Logging in to :pserver:bjcvs@192.168.2.52:2401/home/cvsroot 
*****CVS exited normally with code 0***** 
凡是“CVS exited normally with code 0”最后不是0状态的都为登陆失败以后你在CVS上所作的操作不是以0结尾的都是错误操作。 
9.WinCVS的使用： 
a． 上传（checkin）： 
上传一个目录： 
窗体中部左边有一个explore页，点击它，选择你准备上传的文件夹；点击菜单栏的creat->>import module from selection，会跳出一个import filter窗体。如果你的文件里有错误，import filter窗体里就会有error或warn标志，如果真是这样，你最好还是先看一看有何问题。 
下一个跳出的窗体是import setting，在select the module name and path on the remote server里面填上一个名称，当你的文件传上服务器后，cvs服务器里就会以这个名称建立一个代码库，存放刚才传上来的文件。请记住，下拉框并没有什么神奇的功能，它只能记住你上次填进去的东西。 
上传一个文件： 
在本地工作目录中添加一个新文件后，要提交到服务端。先选中文件，然后点击工具栏中的“添加按钮（Add selected）”，添加文件后，再在右键菜单中选择提交命令“Commit Selection”即可。 
b． 下载（checkout）： 
下载一个目录： 
经过上一步操作，你在服务器里就有了源代码，所有的开发者可以开始工作了。当然，开发者需要先下载一个拷贝到本地才能修改它。建立本地工作目录，在自己的硬盘上新建一个目录，例如建立一个名为“work”的目录，表示这是工作目录。选择creat->>checkout module，出现的窗体是checkout setting，在module name and path on the server中填写你在上一步（上传文件）中，上传到服务器中的模块名称。在Local folder to checkout to中填写你 
下载一个文件： 
如果你不小心删除了你本地工作目录中的一个文件，你可以选中窗体中部左边有一个Modules页，选择你工作的Modules，在右边窗口中右键选中那个你误删除的文件，选择update selection，把CVS服务器上的文件和本地文件进行同步与合并，不用选中出现的任何选项，直接选择“确定”。 
c． 锁定： 
一般而言，在项目小组中，项目经理会定期公布最新的基础版本，要求小组成员都在这个基础版本上进行进一步开发在实际工作中，总会有些成员提前完成工作，他们提交更改后，最新版本就会比项目经理发布的基础版本的version更高。有时候，某些项目成员会有意无意修改基础版本，并且指定提交到基础版本上，如果允许他们提交修改，大家可能都会在一个错误的基础版本工作，后果是不堪设想的。 
锁定文件的操作如下： 
菜单栏的admin->>comandline，输入这个命令： 
cvs admin -l版本号 文件全名 
注意，-l和版本号之间没有空格。 
如果你锁定成功，会有如下提示： 
RCS file: /cvs/hrsystem/test/new.txt,v 
1.1.2.3 locked 
done 
*****CVS exited normally with code 0*****