eclipseCVS使用手册
CVS使用手册

CVS使用手册CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。
工作模式如下:CVS服务器(文件版本库)/ | \(版本同步)/ | \开发者1 开发者2 开发者3作为一般开发人员挑选2,6看就可以了,CVS的管理员则更需要懂的更多一些,最后还简单介绍了一些Windows下的cvs客户端使用,CVS远程用户认证的选择及与BUG跟踪系统等开发环境的集成问题。
一个系统20%的功能往往能够满足80%的需求,CVS也不例外,以下是CVS最常用的功能,可能还不到它全部命令选项的20%,作为一般开发人员平时会用cvs update和cvs commit 就够了,更多的需求在实际应用过程中自然会出现,不时回头看看相关文档经常有意外的收获。
CVS环境初始化环境设置:指定CVS库的路径CVSROOTtcshsetenv CVSROOT /path/to/cvsrootbashCVSROOT=/path/to/cvsroot ; export CVSROOT后面还提到远程CVS服务器的设置:CVSROOT=:ext:$USER@test.server.address#port:/path/to/cvsroot CVS_RSH=ssh; exportCVSROOT CVS_RSH初始化:CVS版本库的初始化。
cvs init一个项目的首次导入cvs import -m "write some comments here" project_name vendor_tag release_tag执行后:会将所有源文件及目录导入到/path/to/cvsroot/project_name目录下vender_tag: 开发商标记release_tag: 版本发布标记项目导出:将代码从CVS库里导出cvs checkout project_namecvs 将创建project_name目录,并将最新版本的源代码导出到相应目录中。
CVS的配置和使用

CVS的配置和使⽤下⾯是搜集的资料///////////////////本⼈⽤的是CVSNT 2.0.51c,⽤最新的版本在Eclipse中死活不能列出服务器⾥内容,换了这个版本就好了,现在也不知道怎么回事。
⾸先安装,如果是使⽤安装包的版本,很简单,⼀路NEXT;如果是使⽤直接解压的版本,解压缩后把cvsnt.cpl和setuid.dll复制到%WINROOT%\system32下,并在当前⽬录下执⾏以下命令注册CVSNT系统服务:cvsservice -icvslock -i完成后可以在控制⾯版⾥看到CVS for NT的图标,在⾥⾯先启动CVS Service和CVS Lock Service,注意如果使⽤的是解压的版本,还要在CVSNT⽬录下运⾏⼀下genkey⽣成SSL的密钥:genkey.exe cvsnt-default.pem并在SSL settings中选择⼀下刚刚⽣成的密钥⽂件,这个好像没有SSL登陆就没⽤,假设⼀下,没⽤过。
如图:设置Repository,就是CVSNT资源库的位置,切换到Repositories选项卡,Add添加CVSNT资源库的位置,此处Location选为E:/CVSNT/Repository,Name是访问CVSNT服务器时使⽤的路径名,按默认即可,本⼈是/CVSNT/Repository,如果是新建的⽬录,会提⽰你是否初始化Repository,同意即可。
如图:切换到Advanced,先在Use local users for pserver authentication instead of domain users和Pretend to be a Unix CVS version钩上,这是让CVSNT使⽤本地账户作为pserver认证⽅式以及让CVSNT服务器模拟为Unix CVS服务器,如图:CVSNT服务器已经配置好了,接下来是我使⽤过程中遇到问题最多的⽤户配置。
Eclipse中CVS版本管理

Eclipse中CVS版本管理Eclipse中CVS版本管理1.1 CVS简介CVS是Concurrent Versions System(并发版本系统)的简称。
它是一个开放源代码的项目,是当前最流行的版本控制系统,目前绝大部分Open Source项目都使用它来做版本管理。
微软的VSS也可以用来进行Java项目的版本管理,但在学会使用Eclipse后,使用CVS。
CVS采用客户机/服务器体系,代码、文档的各种版本都存储在服务器端,开发者首先从服务器上获得一份复制到本机,然后在此基础上进行开发。
开发者可随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,保持与其他开发者的一致。
由于Eclipse本身内置了CVS客户端,只要再建立一个CVS服务器就可以使用这一功能强大的版本控制系统。
CVS的功能虽强大,但一般项目通常只用到其20%的功能,所以只要了解最常用的操作就可以了。
本系统是的是Eclipse 3.0.1版本,下面将以面向实际项目使用需要的方式来介绍CVS。
1.2 CVS服务器端的安装与配置CVS起源于UNIX/Linux平台,由于我们平时大多使用的是Windows系统,所以在UNIX/Linux 平台下安装使用CVS服务器端的方法,我们不再重复。
CVS服务器在Windows平台的版本:CVSNT,我们下面将着重介绍CVSNT的安装。
首先,我们得下载CVSNT,可以到CVSNT主页/downloads/去下载它,我们下载的是cvsnt 2.0.58d版本,把它安装在Windows XP系统上。
(1)运行安装程序,完全按照它的默认设置,连续单击“next”按钮,即可完成安装。
我们把cvsnt安装在默认的“C:"Program Files"cvsnt”目录下。
(2)通过Windows选择“开始→所有程序→CVSNT”选项,打开cvsnt的设置面板“Service control panel”,如图1.1所示,表明上面两个服务已经启动。
Eclipse+CVS使用说明

eclipse配置与使用一个项目往往有多人参与,如何协调各个人的开发工作,就成为项目开发小组需要直接面对的问题。
一般的解决方案是采用版本控制系统,如微软的VSS,开源的CVS以及Subversion等等。
Eclipse对团队开发提供了默认的支持,其内置了CVS的客户端。
客户端设置一.打开cvs视图二.在cvs视图中右键空白区域,弹出如下菜单,三.点击Repository Location,弹出如下窗口4.单击”Finish”,这样一个客户端连接就建好了。
将项目提交到CVS服务器上右键选中一个项目,选择Team,再选Share Project,然后往下一路next 即可,这里就不罗唆了四.从CVS服务器上下载项目到eclipse中新建一个项目时,选择CVS|Projects from CVS 即可,下面就是一路的next五.把一个项目中的更改提交到CVS服务器右键选择更改的项目(或其中的某一具体的包或者文件)然后Team|Commit 下面就是next即可六.把CVS服务器中的更改更新到eclipse中右键选择项目(或其中的某一具体的包或者文件)然后Team| Synchronize with Repository,下面就是next即可七.其他几个要点1.将项目提交到CVS服务器上,必须通过”三”中的方法,而不能直接把项目的文件夹拷贝到服务器的存储库目录中2.更改CVS存储库,如果一个项目本身就是通过CVS下载到本地的,现在想把该项目组织到新的存储库中,按照“三“的方法,默认会提交到原来的存储库,这时,只需把项目中的根目录下面的CVS文件夹删除即可,再通过“三”中的方法即可提交到变更后的存储库中,如果还是提交不了,则右键项目,“刷新”一下即可。
Eclipse下使用CVS

5.1 Eclipse对CVS的支持在软件开发中,如果有什么教训已变得非常清楚的话,那么这个教训就是:任何东西都不是孤立的。
在软件开发所涉及到的各领域中包含众多规范。
这些规范不再是相互无关的。
例如,在花了几天时间完成您的工作后,任务会被交给下一个小组。
在软件周期中,这种情况会一而再、再而三地出现。
Eclipse认识到了软件开发的这种实际情况,并在其IDE中支持资源库提供程序与Eclipse的集成。
在受版本控制的单独位置中,项目合作者可以很容易地实现应用程序各部分的共享。
因为Eclipse有一个公共的IDE基础结构,所以Eclipse的各个工具,以及其他可选的集成工具,都有一个公共的视图,从而使得它们可以彼此交互。
在当今这个步调异常快速的软件环境中,很少有任何开发人员被限制于一个单独角色。
尽管某些大型机构会根据基本技术或核心规范来对其庞大的开发团队进行划分,但大多数机构必须对其熟练员工进行项目间的灵活调度,以节省对各团队所使用工具进行熟悉的开销。
由于Eclipse可作为工具集成平台,所以通过与E clipse相结合,小组资源库可成为这些被来回调动的职员的交流语言。
当然,资源库为组织和个人都提供了资源保护功能。
和小组的集体工作一样,您的工作会被保存在资源库中,从而可以得到安全存储。
但是,资源库能做的远不止这些——在将资源库应用到特定问题领域的时候,资源库就变成了小组的集体智慧,变成了大家学习的源泉。
在使用资源库时,资源库会激发您的灵感。
依赖于资源库提供程序,您的资源库可能会允许您对故障和功能部件进行跟踪,对工作流进行管理,并可能会为您提供一个健壮的开发过程。
存储在资源库中的并不仅限于“程序员”的“源代码”;各种类型的文件构成了当今的软件应用程序。
这些文件包括Web页面、文档、数据库描述,当然还有代码。
各种计算机专业人员都需要这些资源库。
需要您记在心里的是,Eclipse的一个基本目标就是为小组编程提供最好的支持。
实验1-使用CVS进行版本控制

实验1:使用CVS进行版本控制一、实验目的掌握版本控制工具CVS的主要用法,理解版本控制的作用和以项目组形式进行软件开发的方法。
二、软硬件环境本实验的硬件环境是计算机局域网,计算机操作系统采用Windows XP,工具软件包括CVSNT,Eclipse(集成CVS客户端)。
三、实验步骤1.使用Eclipse内建的CVS客户端与CVS服务器建立连接(1)启动Eclipse。
(2)在Eclipse主窗体中,单击“Window”菜单下的“Open Perspective/Other…”,在弹出的“Open Perspective”对话框中选择“CVS Repository Exploring”。
如图1所示。
图1(3)单击“OK”按钮,在Eclipse主窗体中出现“CVS Repositories”视图。
在该视图中任意位置单击鼠标右键,在弹出的菜单中选择“New/Repository Location…”,弹出“Add CVS Repository”对话框。
如图2所示。
在“Host”文本框中输入CVSNT服务器的名称或IP地址,在“Repository path”文本框中输入仓库路径名“/MyRepository”,在“User”文本框中输入用户名“CVSUser”,在“Password”文本框中输入密码“CVSUser”,在“Connection Type”下拉列表框中选择“pserver”,单击“Finish”按钮创建Repository位置信息。
图22. 从CVS服务器检出项目(1)选择Eclipse主窗体的“File”菜单中的“Import…”,弹出“Import”对话框,选择“CVS”下的“Projects from CVS”。
如图3所示。
图3单击“Next”,弹出“Checkout from CVS”对话框,接受其默认选择,单击“Next”,在出现的对话框中可以选择要检出哪些模块(即文件夹),选择“Use an existing module”,在下方出现CVS服务器仓库中的内容。
cvs使用说明

在控制台输入:cvs passwd,然后控制台会提示将要修改密码,要求输入新的密码:
E:\>cvs passwd
Changing repository password for Able@Able
New password: ***
Verify password: ***
E:\>set cvsroot=:pserver:Administrator@Able:2401/CVS/Home
在控制台输入:cvs login,然后控制台会提示输入密码:
E:\>cvs login
Logging in to :pserver:Administrator@able:2401:/CVS/Home
user1
user2
user3
这些代表user1, user2, user3都是该项目仓库的管理员。将你想指派为管理员的用户的用户名加到文件的末尾,然后提交修改的文件。由于管理员拥有对CVS服务器比较大的使用权限,所以指派管理员的时候要比较小心。
4. 增加能够使用CVSROOT模块的用户
新创建的用户能够使用其账号连接到CVS服务器,但是目前只能够对该项目仓库进行签出操作,不能进行提交。必须让项目的创建者为其指定提交权限之后才能够进行提交。项目创建者是最高权限管理员,由其指定其他用户能够对项目仓库进行的操作,以及指派新的管理员。
3. 项目创建者对参与项目用户的管理
3. 在控制台环境下登录到CVS服务器
以下所讲的在控制台下的操作都是以Windows的控制台作为例子进行讲解,同时必须客户端安装了CVS。<%CVSROOT%>代表前面将账号信息拼装得到的CVSROOT。
跟我学软件版本控制和管理相关的应用技术——CVS的Eclipse客户端的使用详解

1.1跟我学软件版本控制和管理相关的应用技术——CVS的Eclipse客户端的使用详解1.1.1将CVS服务器上的项目导入到某个成员客户端的Eclipse中在团队开发中,当项目成员创建了一个基本的工程并提交到CVS服务器后,其它的开发人员首先要“Check Out”这个工程到各自的本地计算机上的Eclipse中。
1、首先按照下面的方式连接到CVS服务器(1)启动Eclipse并进入到客户端的工作目录中(2)该用户首先按照下面的方式连接到CVS服务器。
成功地进行登陆后,将看到下面的内容(3)从CVS服务器中以缺省的项目名称导出该项目到本地主机——针对文档库也可以采用同样的方法开始时应该要将整个项目直接导出本工作空间所在的目录中,以后可以根据需要下载指定目录——提高效率!(4)也可以从CVS服务以指定的项目名称导出该项目到本地主机在项目名称文本框中同样也输入WebBBS(当然,也可任意取其他的名称)。
Eclipse 会以此名称生成一个项目,并将CVS服务中的项目的各个文件导出到此本地项目目录下。
或者改变所导出的目录位置(5)在该对话框中直接单击“完成”按钮,CVS服务器上的最新文件开始导入到本机中。
(6)如果已经导出过将出现下面的警告提示将开始进行导出的操作(7)最后将出现下面的结果成员可以像平常开发时一样的方式进行开发。
比如修改页面的内容等1.1.2在所导出的项目中添加自己的程序并保存或者修改提交到CVS服务器中1、CVS和VSS的不同之处用VSS必须check out(检出)文件才能修改此文件,而此时该文件将被锁定,其他人不能再修改(可以读),必须要等文件被上一个修改者check in(提交)才行,也就是说VSS同一文件一次只允许一个人修改。
CVS则使用完全不同的机制,多人可以同时修改同一文件。
文件不会像VSS一样被锁定,所以也就没有修改文件之前要check out(检出)的操作,CVS的最基本操作是“提交文件到CVS”和“从CVS更新文件到本机”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Eclipse中CVS版本管理版本管理1.1 CVS简介CVS是Concurrent Versions System(并发版本系统)的简称。
它是一个开放源代码的项目,是当前最流行的版本控制系统,目前绝大部分Open Source项目都使用它来做版本管理。
微软的VSS也可以用来进行Java项目的版本管理,但在学会使用Eclipse后,使用CVS。
CVS采用客户机/服务器体系,代码、文档的各种版本都存储在服务器端,开发者首先从服务器上获得一份复制到本机,然后在此基础上进行开发。
开发者可随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,保持与其他开发者的一致。
由于Eclipse本身内置了CVS客户端,只要再建立一个CVS服务器就可以使用这一功能强大的版本控制系统。
CVS的功能虽强大,但一般项目通常只用到其20%的功能,所以只要了解最常用的操作就可以了。
本系统是的是Eclipse 3.0.1版本,下面将以面向实际项目使用需要的方式来介绍CVS。
1.2 CVS服务器端的安装与配置CVS起源于UNIX/Linux平台,由于我们平时大多使用的是Windows系统,所以在UNIX/Linux平台下安装使用CVS服务器端的方法,我们不再重复。
CVS服务器在Windows 平台的版本:CVSNT,我们下面将着重介绍CVSNT的安装。
首先,我们得下载CVSNT,可以到CVSNT主页/downloads/去下载它,我们下载的是cvsnt 2.0.58d版本,把它安装在Windows XP系统上。
(1)运行安装程序,完全按照它的默认设置,连续单击“next”按钮,即可完成安装。
我们把cvsnt安装在默认的“C:\Program Files\cvsnt”目录下。
(2)通过Windows选择“开始→所有程序→CVSNT”选项,打开cvsnt的设置面板“Service control panel”,如图1.1所示,表明上面两个服务已经启动。
注意:如果提示找不到rundll32.exe,则单击“浏览”按钮,指向“C:\windows\system32\ 注意:rundll32.exe”并运行它。
(3)单击图1.1中的“Repositories”选项卡,再单击Add按钮,创建一个存放版本文件的目录“c:/cvsfile”,如图1.2所示,单击“OK”按钮后,在弹出的两个窗口中都回答“是”。
注意注意::建议在“Name”栏改写成绝对路径“c:/cvsfile”,就能够确保在cvsnt安装后可以正常使用。
图1.1 Service control panel 界面 图1.2 建立存放版本文件的目录 (4)转到“Compatibility ”选项卡,将3个选项都选上,如图1.3所示。
注意注意::这一步非常重要,否则CVS 2.0.58d 无法在Eclipse 3.0.1下正常使用,如果你使用Eclipse 3.1M4版,则此步设置可跳过。
图1.3 Compatibility 选项卡(5)CVS 客户端连接服务器,需要在服务器端分配一个用户名,并且用户名要求必须是Windows 的登录用户。
我的Windows XP 系统的用户名为giles ,密码为空。
进入Windows 的命令行窗口,如图1.4所示,转到C:\Program Files\cvsnt 目录下,输入命令cvs -d c:\cvsfile passwd -a giles ,按回车键输入giles 在CVS 上的登录密码(我们设置的密码为111111)。
注意注意::安装好CVSNT 之后,也可以通过“控制面板”里的“用户账号”来创建一个新用户,这时该用户自动成为CVS 用户,密码相同。
至此,我们完成了CVS 服务器部分的全部设置,现在客户端可以使用Admin 为账号来登录CVS 服务器。
图1.4 命令行窗口(6)其他如果要将CVS的文件移植到另一台电脑上,或者原cvs服务器所在电脑重装了操作系统,这时就要涉及移植或恢复CVS。
按照图1.2的操作将它注册一下即可。
由此可知,备份CVS上的文件只需将cvsfile目录复制一份就可以了。
如果要对权限要求比较严格的话,那么就需要设置CVS用户的权限,CVS的权限是和操作系统权限相关的(用户都是操作系统的用户)。
1.3 CVS客户端的配置的客户端,,连接CVS服务器1.3.1 配置Eclipse的客户端打开Eclipse中的“CVS资源库研究”透视图,然后在左部的“CVS资源库”视图单击右键,在右键菜单中选择“新建→资源库位置”选项。
在弹出的窗口输入CVS的相关信息,如图1.5所示,填完后单击“完成”按钮。
图1.5 添加CVS资源库注意:注意:(1)资源库路径用CVS服务器上的绝对路径,即图1.2中Name文本框的值。
(2)密码是上面用cvs命令行设置的111111。
如果是通过“控制面板”里的“用户账号”来创建用户,那么此密码即为该用户的Windows登录密码。
1.3.2 将项目提交到CVS服务器上将项目提交到CVS服务器上的步骤如下:(1)转到Eclipse的“资源”透视图。
右键单击项目名myproject,然后选择“小组→共享项目”选项,如图1.6所示。
在弹出的“共享项目”窗口中,接受默认设置,直接单击“下一步”按钮。
图1.6 “共享项目”窗口(2)如图1.7所示,窗口提示输入模块名,接受默认选项,单击“下一步”按钮。
图1.7 共享项目-输入模块名(3)如图1.8所示,在窗口中选择要提交到CVS上的项目资源(即文件),不必作任何设置(默认为提交项目所有文件),直接单击“完成”按钮。
图1.8 共享项目-项目资源(4)如图1.9所示,连续弹出两个窗口,都单击“是”按钮。
又弹出一个窗口要求输入提交注释,写上一些说明文字(也可以为空),单击“确定”按钮,Eclipse开始将项目文件提交到CVS服务器上。
图1.9 “资源提交”对话框1.3.3 CVS服务器上的项目导入到Eclipse中如果新成员加入项目开发团队,这时就需要将CVS服务器上的项目导入到自己的Eclipse中。
为了方便模拟,再安装一个Eclipse,安装目录要不同(两个Eclipse同时运行也不会有冲突)。
将CVS服务器上的项目导入到Eclipse中的步骤如下:(1)在主菜单选择“文件→导入”选项,弹出如图1.10所示的窗口。
图1.10 “导入”窗口(2)选择“从CVS检出项目”,单击“下一步”按钮。
弹出一个设定资源库的位置窗口,接受默认选项,直接单击“下一步”按钮,弹出如图1.11所示的窗口。
图1.11 填写CVS上的模块名称(3)在模块名称文本框输入myproject,单击“下一步”按钮,弹出如图1.12所示的窗口。
注意:myproject这个名称不是项目名称,而是项目共享到CVS上时所取的模块名(模块名的设置参见图1.7),通常将CVS模块名取成和项目名相同。
图1.12 “检出为”窗口(4)在项目名称文本框输入myproject。
Eclipse会以此名称生成一个项目,并将CVS 的文件导出到此项目下。
在该窗口中直接单击“完成”按钮,CVS服务器上的最新文件开始导入到本机中。
新的方法1.4 文件提交与更文件提交与更新的方法1.4.1 CVS和VSS的不同之处(1)用VSS必须check out(检出)文件才能修改此文件,而此时该文件将被锁定,其他人不能再修改(可以读),必须要等文件被上一个修改者check in(提交)才行,也就是说VSS同一文件一次只允许一个人修改。
(2)CVS则使用完全不同的机制,多人可以同时修改同一文件。
文件不会像VSS一样被锁定,所以也就没有修改文件之前要check out(检出)的操作,CVS的最基本操作是“提交文件到CVS”和“从CVS更新文件到本机”。
在CVS中如果多人同时修改了一个文件,在提交时会提示代码冲突,会提供一个窗口来合并这些修改,但这样的合并修改操作是很麻烦的,因此应尽可能地避免多人同时修改一个文件。
1.4.2 文件的提交和更新1.将修改的文件提交到CVS在HelloWorld.java中增加一条输出语句“System.out.println("第一次修改");”,然后保存。
右键单击窗口右侧“导航器”视图中的HelloWorld.java文件,在弹出菜单中选择“小组→提交”选项,如图1.13所示。
图1.13 提交界面2.从CVS更新文件到本机删除掉HelloWorld.java中的语句“System.out.println("第一次修改");”然后保存,这时要将CVS服务器上的最新代码更新到本地,有以下两种方法:(1)右键单击HelloWorld.java文件,在弹出的菜单中选择“替换为→HEAD的最新内容”选项。
(2)右键单击HelloWorld.java文件,在弹出的菜单中选择“小组→与资源库同步”选项,在弹出的同步界面,如图1.14所示,单击“将当前更改从右边复制到左边”按钮,然后保存。
图1.14 资源库同步界面有的人可能会问:“右键单击HelloWorld.java文件,然后选择‘小组→更新’这种更新方法,为什么不用呢?”这种更新方法是将CVS的最新版更新到本机,当本机文件没有修改的时候才用这种方法。
如果对HelloWorld作了修改,CVS上的反而是旧内容了,这时再用这种更新方法则对本地的HelloWorld.java文件不会产生任何影响。
1.4.3 解决文件提交的冲突在多人项目开发中,会同时修改一个文件,就会产生提交冲突,下面说明一下如何解决这种冲突。
在上面检出项目时,已经另外安装了一个Eclipse,相当于多了一个开发者,原来的称为Giles,新加入的叫Tom。
Giles和Tom电脑上的HelloWorld.java的版本都是1.2。
这时Giles在文件中增加一条语句“System.out.println("Giles第1次修改");”,同样Tom也在文件中作了类似修改,如图1.15所示。
图1.15 两开发者对代码的修改情况Giles先提交HelloWorld.java文件,这时版本变成了1.3,由于Giles是第一个提交的,所以他不会遇到代码冲突。
Tom后提交,这时就会和Giles先提交上去的代码产生冲突。
因为如果用Tom的代码更新CVS,则Giles的修改就会被清除,所以Eclipse此时就会报文件冲突,不允许直接提交。
解决办法如下:右键单击“HelloWorld.java→小组→更新”选项,如图1.16所示。
图1.16 更新后的界面此时HelloWorld.java的版本已经变成了1.3,更新后的冲突也已标记出来。