认识CVS1、什么是CVSCVS-ConcurrentVersionsSystem(并发版本管理系统)是一个版本控制管理系统,它是目前最为广泛使用的一个系统。在多人共同开发一个大型项目时,源代码的维护和版本维护是一件令人头疼的事情,由于多人开发,每个开发人员都拥有此项目的副本,所以如果要手动维护同一个文件多人的修改是十分困难的事情。另外,可能你需要的项目的版本不是当前开发的最新的版本,如果为了这个目的而为每一个版本保留一个备份几乎是不可能的。CVS不仅可以维护源代码,事实上,所有的文本文件都可以使用CVS来管理,当然也可以管理二进制文件,只是需要特殊的命令选项罢了。CVS把文件保存在一个名叫仓库(repository)的地方,仓库中保存的文件并不是每个版本的副本,而是可以从任意版本回溯到初始版本的一些代码的主控信息,这样,就节省了大量的存储空间。仓库不仅可以建立在本机上,也可以建立在网络上。另外CVS支持版本分支(tag),这样可以从任意的版本中衍生出另外一个版本进行开发,必要时,还可以把这个分支合并到主开发分支去。安装服务端程序仅项目Leader才需要安装和管理CVS的服务端,如果你只是在应用CVS做程序开发的话,就仅需要安装客户端程序。下面假设开发的环境为局域网Windows2000/2003Server主机,主机名为:Server1。服务端程序我们选择了CVSNT()安装步骤:1、安装:用管理员身份在服务器SERVER1上安装CVSNT,重新启动后在开始菜单中启动“CVSNTControlPanel”点击Advanced,把以下选项都选上Don'tresolveclientnamesLockserverlistenslocallyAllowclientstotraceUnicodeserver2、初始化:在硬盘上新建一个目录作为CVS仓库的根目录(所谓仓库就是指源代码存放的位置),如D:\cvsroot。在“CVSNTControlPanel”中点击Repositories,然后点击“add”按钮,这时会出现一个对话框,指定根目录Location:D:\cvsroot指定仓库的名称Name:/cvsroot(这个名字可以随意起)然后选中“初始化CVS仓库”,点击“确定”完成设置。3、登录CVS系统并添加用户运行cmd进入命令行输入:cvs-v可以出现版本信息,如果Path环境变量没有设置,在控制面板系统属性里面添加环境变量“Path=%path%;C:\Progra~1\CVSNT输入:setcvsroot=:pserver:SERVER1:/cvsroot这是用来设置cvsroot环境变量的,下面登录时会用到。设置cvsroot变量详细格式:method:[[user][:password]@]hostname[:[port]][:]/path/to/repositorymethod见以下协议:口令授权服务协议(:pserver:),Windows授权协议(:sspi:),SSH授权协议(:ext:),安全Shell(:ssh:),远程Shell(:server:),本地目录(:local:),Kerberos协议(:gserver:),SSL协议(:sserver:),命名管道(:ntserver:)输入:cvslogin登陆时会有提示输入NT登陆密码在Windows的用户管理里面添加一个名位“user1”(名字自定义)的用户,并赋权限他能完全访问D:\cvsroot目录。输入:cvspasswd-auser1增加用户至此,服务端就安装好了,剩下的工作都可以在客户端上完成安装客户端软件并新建一个项目1、安装在windows下的cvs客户端推荐使用TortoiseCVS,在工作站上安装TortoiseCVS之后要重新启动计算机。重启后,点击开始菜单,选择TortoiseCVS-Preferences,将Language设定为中文,这样以后使用起来就比较方便。2、建立新项目(一个项目只需新建一次,一般是由项目管理员操作)在硬盘上建立一个目录,如D:\Project\MyApp,并复制现有的项目程序文件到这个文件夹(若项目还没开始做,则随便复制一个文本文件也可以)在“MyApp”上点击右键,选CVS-“创建新模块”在对话框中填写如下的资料协议::pserver:服务器:SERVER1仓库目录:/cvsroot用户名:user1模块:MyApp完成后会发现文件夹的图标发生改变。然后在“MyApp”上点击右键,选“CVS”-”添加内容“,等待一段时间完成后再在“MyApp”上点击右键,选“CVS”-“提交...”,这样就将项目MyApp添加到CVS服务器中了。使用客户端开发项目现在项目的各个成员就可以在各自的电脑上通过cvs共同开发一个项目了。首先需要在每个成员的电脑上安装好TortoiseCVS和WinMerge。(安装很简单,过程从略)接下来就是上CVS服务器获取刚才项目管理员创建的项目源文件。现在硬盘上建立一个目录,如:D:\MyProjects进入MyProjects目录,在空白地方点击鼠标右键,选择“CVS取出...“(CVSCheckout...)这时会弹出一个对话框,填入如下内容:协议::pserver:服务器:SERVER1仓库目录:/cvsroot用户名:user2模块:MyApp过一段时间之后项目MyApp的所有源代码都下载回来了。以后每次编写代码之前先选中文件,选”CVS-“更新“,然后开始编写或修改代码,完成后再选“CVS”-”提交“,如果是添加了新的文件,则先选“CVS-添加内容,然后再选“CVS”-提交。文件在不同的情况下会有不同的颜色图片显示,如下:解决开发过程中版本冲突的问题在多人共同开发一个项目的过程中,无可避免地会遇到两个人同时编辑一个文件的情况,如果组员A已经上传了自己的那份代码,这时如果组员B又想上传自己的代码,这样就会造成版本冲突。下面用图片来演示版本冲突的过程以及解决的方法。假设组员A刚编辑完“Program.cs”文件的代码,这时文件的图标会变成下图所示:组员A希望提交他的代码,所以选择了“CVS-提交”在提交时,建议大家都填上注释,注释的内容是这次修改主要做了什么点提交后,如果发现提交失败了,一般是由于有原来组员B也是在修改“Program.cs”文件,并且在组员A之前已经提交了。这时组员A惟有下载目前的“Program.cs”文件看看哪里被修改了(注:若发生冲突,文件是不能直接提交的,所以要选择“CVS更新”)。下载完后cvs会提示你需要怎样解决冲突,并提出方案,如图所示的是需要合并两个组员的代码的意思如果这时没有安装如WinMerge之类的文件比较和合并工具,有冲突的文件会显示为红色。用文本编辑器打开这个文件,将内容合并起来,这时图标恢复正常的颜色,然后再次提交,冲突就解决了。查看文件历史版本有时我们可能修改错了某个程序文件,不幸的是这个文件又已经提交了,怎么办呢?cvs的历史功能可以让你恢复到任意一个时刻的状态。对着文件点击右键,选择“CVS”-“历史”,出现如图:选中某个版本,下面会出现提交是所写的注释,点击右键,可以选择查看或者下载回来。当然也可以查看历史版本跟目前版本有什么不同的地方,推荐使用WinMerge。kwanhong(c)2006Trackback:=1301366[收藏到我的网摘][发送Trackback]kwanhong发表于2006年09月28日12:46:00相关文章:版本控制工具2005-01-19moxieeclipse+cvs的基本使用方法(三)2004-10-10iwo99利用CVSNT在Eclipse中使用CVS--4.实践CVS2004-10-12javamxjCVS操作手册2004-11-12loefCVS培训讲义2004-10-08andunkafei更多内容...上一篇:版本控制软件(CVS,SVN)常见的术语|下一篇:图文CVS入门(一)——认识CVS、安装CVS服务端和客户端软件