易文龙_SVN版本控制工具图解初稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Subversion版本控制工具
图解教程
(初稿)
易文龙编写
QQ:452070
E-Mail:jxbks@
Subversion版本控制
1.概述
1.1什么是版本控制
版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
版本控制透过文档控制(documentation control)记录程序各个模组的改动,并为每次改动编上序号。
这种方法是工程图(engineering drawings)维护(maintenance)的标准做法,它伴随着工程图从图的诞生一直到图的定型。
一种简单的版本控制形式,例如,赋给图的初版一个版本等级“0”。
当做了第一次改变后,版本等级改为“1”,以此类推等等。
1.2 什么是 Subversion
Subversion是一个免费开源的版本控制系统。
即在它的管理下,文件和目录可以跨越时空,允许你的数据恢复到早期版本,或者是检查数据修改的历史。
正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。
从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。
因为修改不再是单线进行,开发速度会更快。
此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。
1.3 常见的版本控制系统
2.VSS:Visual Source Save,微软公司的版本控制器软件,
/zh-cn/vstudio/aa718670.aspx
3.CVS:Concurrent Versions System,开源免费,/cvs/
4.Subversion,开源免费,/
5.ClearCase,IBM公司,
/software/awdtools/clearcase/
2.基本概念
版本控制工具并非程序员专用,它可以管理任何类型的文件。
本文讲述的是目前最流行的Subversion,下面将介绍版本控制的几个基本概念。
2.1版本库(repository)
Subversion是一个“集中式”的信息共享系统。
版本库是Subversion的核心部分,是数据的中央仓库。
版本库以典型的文件和目录结构形式文件系统树来保存信息。
任意数量的客户端连接到Subversion版本库,读取、修改这些文件。
客户端通过写数据将信息分享给其他人,通过读取数据获取别人共享的信息。
如图1-1。
图1-1一个典型的客户/服务器系统的版本控制系统
2.2文件共享的问题
所有的版本控制系统都需要解决这样一个基础问题:怎样让系统允许用户共享信息,而不会让他们因意外而互相干扰?版本库里意外覆盖别人的更改非常的容易。
考虑图1-2需要避免的问题情景,例如:我们有两个共同工作者,Harry 和Sally,他们想同时编辑版本库里的同一个文件,如果首先Harry保存它的修改,过了一会,Sally可能凑巧用自己的版本覆盖了这些文件,Harry的更改不会永远消失(因为系统记录了每次修改),但Harry所有的修改不会出现在Sally 新版本的文件中,所以Harry的工作还是丢失了—至少是从最新的版本中丢失了—而且可能是意外的,这就是我们要明确避免的情况。
图1-2 需要避免的问题
针对以上问题提出以下两种解决方案:
⑴“锁定-修改-解锁”方案
许多版本控制系统使用锁定-修改-解锁机制解决这种问题,在这样的模型里,在一个时间段里版本库的一个文件只允许被一个人修改。
首先在修改之前,Harry要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果Harry锁住这个文件,Sally不能做任何修改,如果Sally想请求得到一个锁,版本库会拒绝这个请求。
在Harry结束编辑并且放开这个锁之前,她只可以阅读文件。
Harry
解锁后,就要换班了,Sally得到自己的轮换位置,锁定并且开始编辑这个文件。
如图1-3“锁定-修改-解锁方案”所示:
图1-3 “锁定-修改-解锁”方案
⑵“拷贝-修改-合并”方案
Subversion,CVS和一些版本控制系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作拷贝—版本库中文件和目录的本地映射。
用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
这是一个例子,Harry和Sally为同一个项目各自建立了一个工作拷贝,工作是并行的,修改了同一个文件A,Sally首先保存修改到版本库,当Harry想去提交修改的时候,版本库提示文件A已经过期,换句话说,A在他上次更新之后已经更改了,所以当他通过客户端请求合并版本库和他的工作拷贝之后,碰巧Sally的修改和他的不冲突,所以一旦他把所有的修改集成到一起,他可以将工作拷贝保存到版本库,如图1-4、1-5“拷贝-修改-合并方案”展示了这一过程。
图1-4 “拷贝-修改-合并”方案(一)
图1-5 “拷贝-修改-合并”方案(二)
如果Sally和Harry的修改交迭了该怎么办?这种情况叫做冲突,这通常不是个大问题,当Harry告诉他的客户端去合并版本库的最新修改到自己的工作拷贝时,他的文件A就会处于冲突状态:他可以看到一对冲突的修改集,并手工的选择保留一组修改。
需要注意的是软件不能自动的解决冲突,只有人可以理解并作出智能的选择,一旦Harry手工的解决了冲突—也许需要与Sally讨论—它可以安全的把合并的文件保存到版本库。
拷贝-修改-合并模型感觉有一点混乱,但在实践中,通常运行的很平稳,用
户可以并行的工作,不必等待别人,当工作在同一个文件上时,也很少会有交迭发生,冲突并不频繁,处理冲突的时间远比等待解锁花费的时间少。
最后,一切都要归结到一条重要的因素:用户交流。
当用户交流贫乏,语法和语义的冲突就会增加,没有系统可以强制用户完美的交流,没有系统可以检测语义上的冲突,所以没有任何证据能够承诺锁定系统可以防止冲突,实践中,锁定除了约束了生产力,并没有做什么事。
上面介绍的两个解决冲突的方案中,后者效率比较高。
那么什么时候使用“锁定-修改-解锁”方案呢?由于“拷贝-修改-合并”是假定文件是可以根据上下文合并的,即版本库的文件主要是以行为基础的文本文件(例如程序源代码)。
但对于二进制格式,例如艺术品或声音,在这种情况下,十分有必要让用户轮流修改文件,则使用“锁定-修改-解锁”方案较好。
6.SVN安装与集成其它相关软件
3.1 SVN服务器端的安装
●下载地址:
/files/documents/15/47842/Setup-Subversion-1.6.0.msi
●安装步骤如下:
图1-6 SVN服务器安装第一步
图1-7 SVN服务器安装第二步
图1-8 SVN服务器安装第三步
图1-9 SVN服务器安装第四步
图1-10 SVN服务器安装第五步
点击“Finish”按钮结束安装。
由于笔者在安装过程中省略了部分截图,请读者直接走默认安装就可以。
●配置环境变量,给path添加一个变量值为:svn的安装目录中的bin目录。
例如:本机是C:\Program Files\Subversion\bin。
其目的是在命令行中让操作系统可以自动搜索到svn的相关命令。
图1-11 path环境变量的配置
●在命令行中操作svn服务器
1)svn help查询命令。
图1-12 通过svn help命令查询svn的基本命令
2)创建数据仓库。
例如:把数据仓库创建在D:\Respository
图1-13 命令行的方式创建数据仓库
3)启动svn服务器。
图1-14 启动svn服务器
图1-14中 svnserve为启动命令,-d表示在后台运行,-r指定服务器的仓库路径。
注意:当启动用命令启动SVN服务器后,不能关闭此窗口,如果关闭则SVN服务器停止运行。
4)将本地文件导入到SVN服务器。
例如:将作者E:\Code\Test.java文件导入到SVN服务器的数据仓库。
图1-15 导入文件失败提示(一)
当输入导入命令svn import svn://localhost命令出现提示:无法使用外部设备编辑器取得日志信息。
根据提示我们在操作系统的环境变量中,新建变量SVN_EDITOR,其值可以指向任何一个文本编辑器,在这里我们指向windows自带的notepad,如图1-16所示:
图1-16 新建SVN_EDITOR环境变量
新建好了SVN_EDITOR环境变量后,重新打开此窗口。
再一次输入导入命令,导入出现授权失败,如图1-17所示:
图1-17 导入授权失败
出现此问题,是由于我们的SVN服务器的权限验证失败,我们打开开始创建的数据仓库目录中的svnserve.conf文件(D:\Repository\conf\svnserve.conf),把文件中的第12行的(注释)‘#’号去掉,同时再加一行anon-access=write。
这样说明了匿名用户都可以对此数据仓库进行读写操作,修改完成之后,必须重启svn服务器。
即把服务器端的命令行窗口直接关闭,重新开启一个,并输入启动命令。
再在客户端重新输入导入命令,结果是成功导入。
如图1-18所示:
图1-18导入文件成功
图1-18是把命令提示符所在的当前目录里面的所有文件导入到了服务器的数据仓库中,且当然版本号为2(表明向服务器提交过两次)。
由于每次导入都会弹出一个文本窗口,为了方便操作,可以将SVN_EDITOR环境变量删掉,建立一个日志文件log.txt,当对服务器数据仓库操作时,在命令行后面加一个-f 日志文件的路径。
当然我们可以把anon-access=write、anon-access=read都注释掉,使用我们指定的用户名与密码来登陆访问SVN服务器数据仓库。
具体方法如下:找到创建数据仓库的D:\Repository\conf\svnserve.conf文件,并打开修改此文件。
把里面两行修改成#anon-access = read、#anon-access = write,并取消第19行password-db = passwd的注释,然后保存此文件。
接下来打开D:\Repository\conf\passwd文件,接照里面的特定格式写好你设定的用户与密码。
例如:bks=123。
这样在登陆的时候需要用用户名与密码进行验证。
在这里需要注意的是,当你修改了用户登陆信息后,需要删除以前在缓存里面的用户信息。
文件信息在:C:\Documents and Settings\Administrator\Application Data\Subversion
5)将SVN服务器数据仓库中的文件签出到本地。
例如:将服务器的版本签
出到本地的D:\Project目录,如图1-19所示:
图1-19取出数据仓库中的版本
结果可以成功的将数据仓库中的Test.java文件签出到本地。
程序员在本地修改了Test.java文件后,为了使数据仓库中的版本与本地的版本操持一致,需要更新服务器的数据仓库。
6)更新数据仓库命令。
如图1-20所示:
图1-20更新数据仓库中的版本
此时有另外一个用户和你这个用户同时下载了Test.java文件,你修改了此文件,并上传到了服务器,而另外一个用户得到的版本是之前没有更新的版本,会导致不一致。
一般在项目开发中,在修改之前先把本地的版本与服务器的数据仓库的版本进行同步。
7)使用update命令得到服务器数据仓库中的最新版本。
图1-21得到数据仓库中的最新版本
上面介绍了通过命令来操作svn服务器不是很方便,接下来我们将svn整合TortoiseSVN,该软件用图形画的操作代替了命令操作。
3.2 Subversion整合TortoiseSVN
TortoiseSVN下载地址: /downloads,当然版本是1.6.11,安装好了之后,该网站里面还有中文语言包,可以一并安装。
TortoiseSVN 是一个客户端程序,用来与Subversion服务器端通讯。
Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。
安装过程如下图所示:
图1-22安装步骤一
图1-23安装步骤二
图1-24安装步骤三
图1-25安装步骤四
图1-26安装步骤五
TortoiseSVN作为访问SVN服务器的客户端,因此首先我们要通过命令行的方式打开SVN服务器。
如图1-14所示。
现在我们在D:\新建一个Project工程,希望把这个目录里面的文件全部导入到SVN服务器的数据库的子仓库中。
为什么要导入到子仓库呢?那是因为SVN服务器管理的并不只是一个项目,里面有好多个项目,通过子仓库的方式可以分类来管理。
图1-25通过TortoiseSVN导入文件
图1-26通过TortoiseSVN导入文件新建了一个子仓库名叫Project
图1-27 SVN权限验证
图1-28 文件提交成功
图1-29 从服务器签出项目
图1-30 签出成功后文件夹的样式
图1-31 更新操作
建议:我们在修改文件后,记得先更新一下本地文件,再来提交。
如图1-32。
图1-32 提交修改的版本
当出现修改冲突时,即你现在提交的版本已过时,作者会在MyEclipse中详细讲解。
根据以上我们得知,客户端都是通过svn协议来传输的,这样我们必须需要安装相应的客户端。
接下来我们通过Subversion整合Apache,就可以通过http协议来访问。
3.3 Subversion整合Apache
Apache下载地址:/download.cgi 在这里选择了
2.2.16 版本。
Apache安装过程如下图:
图1-33 Apache安装步骤(一)
图1-34 Apache安装步骤(二)
图1-35 Apache安装步骤(三)
图1-36 Apache安装步骤(四)
图1-37 Apache安装步骤(五)
图1-38 Apache安装步骤(六)
图1-38 Apache安装完成
图1-39 访问Apache服务器
注意:在安装Apache过程中,由于Apache默认端口是80,我们服务器如果装了其它服务器占用了80端口,请先停止其它服务器修改成其它的端口,否则Apache会安装不成功!
Subversion整合SVN过程如下:
在SVN的安装目录下的bin文件夹中找到:mod_authz_svn.so、mod_dav_svn.so这两个文件,并复制到Apache的安装目录的modules文件夹中。
如图1-40、1-41所示:
图1-40 SVN的bin目录
图1-41 Apache的modules目录
我们接下来需要修改Apache的配置文件httpd.conf,让它能在运行时加载我们拷贝过来的模块。
操作步骤如下图:
图1-42 Apache的httpd.conf文件
打开httpd.conf文件后,先取消这两句LoadModule dav_module modules/mod_dav.so、LoadModule dav_fs_module modules/mod_dav_fs.so前面的注释(把“#”号去掉),然后在后面加上下面两语句:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
修改完成后,我们断续在httpd.conf文件的尾部加入以下代码:
<Location /svn>
DAV svn
SVNPath D:\Repository
</Location>
说明:
<Location /svn>:是给访问数据仓库设定的虚拟目录,我们可以自定义名称。
比如有/Project时,那么访问绝对路径是:http://localhost/Project。
DAV svn:告诉Apache在访问时,使用SVN模块。
SVNPath 数据仓库的本地路径(例如:D:\Repository):指明要访问到本地哪个数据仓库的绝对路径。
重新启动Apache服务器之后,SVN服务器自动启动,因此不需要另外单独通过命令行的方式启动SVN服务器。
如图1-43、1-44所示,Apache服务器与SVN服务器整合成功。
在以后对SVN服务器进行连接时除了可以使用SVN协议,还可以通过HTTP协议(建议读者使用此协议)。
图1-43 Apache与SVN的管理界面
我们可以通过http://localhost/svn访问到我们的数据仓库。
如图1-44所示:
图1-44 数据仓库
注意:在SVN与Apache整合时,一定要两者版本相匹配。
如果整合后Apache服务器不能正常运行,请检查一下两者的版本号。
图1-44说明,当前版本号是0,每次对数据仓库提交版本时,版本号加1。
示例:
在Windows桌面上有个项目Test,我们将它导入到SVN服务器的版本库中,操作步骤如下:
在项目中点击鼠标“右键”,在弹出菜单中选择“TortoiseSVN” “import”在弹出窗口的URL of repository中输入:http://localhost/svn点击“ok”按钮,就可以完成导入。
如图1-45、1-46所示:
图1-45 TortoiseSVN导入界面
图1-45 TortoiseSVN导入成功界面
当导入成功后,我们不仅可以通过TortoiseSVN把SVN服务器中的项目导出到任何计算机的存储设备上,而且可以直接通过在IE浏览器中输入:
http://localhost/svn查看项目的内容,如图1-46所示:
图1-46 IE查看数据仓库中的项目
图1-46说明:当前版本号由“0”改变成了“1”,同时列出了项目的清单。
在实际团队项目开发中,我们的SVN服务器不仅仅是存放一个项目,可能不同的项目组存放不同的项目。
为了便于项目管理与后面讲到的安全访问策略,我们在根数据仓库中再根据不同的项目创建子仓库,如图1-47所示:
图1-47 数据仓库的树型结构
示例:
现在Windows桌面上两个项目分别为Test1、Test2,要求我们分别导入到不同的数据仓库中。
首先我们在SVN服务器的磁盘上新建一个空的文件夹叫RepositoryRoot,然后在此目录中,根据不同项目创建不同的子文件夹,例如:SubRepository1、SubRepository2,然后在命令提示符中,分别把这两个子文件夹创建成数据仓库。
执行的命令如下:svnadmin create D:\RepositoryRoot\SubRepository1
svnadmin create D:\RepositoryRoot\SubRepository2
注意:在SVN1.5版本以上,创建根仓库时,一定要保证目录是空的,即不能把RepositoryRoot 也通过命令行创建为数据仓库。
创建好了数据仓库后,接下来我们需要配置Apache的httpd.conf文件,在此文件里面把以下代码修改成:
修改以前的代码:
<Location /svn>
DAV svn
SVNPath D:\Repository
</Location>
修改以后的代码:
<Location /svn/test1>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository1
</Location>
<Location /svn/test2>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository2
</Location>
以上代码说明了,如果我们在SVN服务器创建多个数据仓库时,我们得在httpd.conf文件中配置多个虚拟路径来分别访问不同的数据仓库。
此时或许有读者问,我们可以随意的通过URL地址,无任何限制条件的对数据库中的项目进行操作,代码是不是很不安全?答案肯定是否,在前面我们已经讲过,对SVN服务的权限设置。
在这里我们已经将SVN服务器整合了Apache服务器,权限设置应该在Apache里面进行设置。
3.4SVN整合Apache的访问策略
以上我们创建了两个项目的子仓库,访问地址分别为:
http://localhost/svn/test1、http://localhost/svn/test1
假定我们访问这两个项目时,都需要进行权限验证,访问两个数据仓库的用户名与密码如表1-1所示:
表1-1的用户信息需要我们单独创建一个文件来保存,其中在访问权限一列中,r代表可读,w代表可写,空值代表既不可读也不可写。
此文件可以放在SVN服务器的任何一个磁盘上,为了方便管理,我们在D:\RepositoryRoot\中创建一个文件夹叫passwords然后再在里面新建一个文件password,再通过Apache中的htpasswd.exe命令来生成相关的信息。
此文件在C:\Program Files\Apache Software Foundation\Apache2.2\bin中,为了方便在命令行直接输入htpasswd自动找到htpasswd.exe文件,我们可以像配置Java的JDK样的,在环境变量中的path变量中增加一个值:C:\Program Files\Apache Software Foundation\Apache2.2\bin。
打开Windows的命令提示符:运行 cmd,输入:
htpasswd D:\RepositoryRoot\Passwords\password 用户名,如果你没有新建此文件
(password),可以输命令htpasswd -c D:\RepositoryRoot\Passwords\password Test1 然后系统提示你输入密码,你再输入Test1,并且需要确认密码。
在默认情况下,密码是用MD5进行加密的(不可逆),这样确保了文件的安全性。
接着我们再一次按此步,把表1-1中的其余用户分别创建一下。
由于在实际项目开发中,我们会根据不同的项目,不同的小组成员设置不同的访问策略,接下来我们也在D:\RepositoryRoot\Passwords目录下新建一个文件policy,并用记事本打开它,按照表1-1用户的权限分配,写入以下代码:
[test1:/]
Test1=rw
abc=r
123=
[test2:/]
Test1=rw
abc=r
123=
以上代码说明了数据仓库1允许用户Test1可读可写,用户abc可读,用户123既不可读也不可写。
同理数据仓库1也很容易看出。
接下来,我们需要加载这两个安全策略配置文件。
打开Apache的httpd.conf文件,改写以下代码:
修改以前的代码:
<Location /svn/test1>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository1
</Location>
<Location /svn/test2>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository2
</Location>
修改后的代码:
<Location /svn/test1>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository1
AuthzSVNAccessFile D:\RepositoryRoot\Passwords\policy
AuthType Basic
AuthName "Subversion Repository --项目为Test1文件列表"
AuthUserFile D:\RepositoryRoot\Passwords\password
Require valid-user
</Location>
<Location /svn/test2>
DAV svn
SVNPath D:\RepositoryRoot\SubRepository2
AuthzSVNAccessFile D:\RepositoryRoot\Passwords\policy
AuthType Basic
AuthName "Subversion Repository --项目为Test2文件列表"
AuthUserFile D:\RepositoryRoot\Passwords\password
Require valid-user
</Location>
补充说明:
AuthzSVNAccessFile:认证权限配置文件实际位置。
AuthUserFile:认证用户配置文件实际位置。
AuthType Basic:认证方式为基本方式。
AuthName:认证窗口的标题。
Require valid-user:设定为需要进行认证。
如果有很多用户对不同的数据仓库访问,我们需要分别对每个用户进行权限设置,这样比较安全。
为了设置方便,我们可以对相同的用户进行分组,然后给每组进行统一的权限设置,这样可以简化我们的操作。
修改文件D:\RepositoryRoot\Passwords\policy如下:
[groups]
Manager =abc #项目经理组
Project1 = Test1 #项目1开发人员
Project2 = Test2 #项目1开发人员
[test1:/]
@Manager=rw
@Project1=rw
[test2:/]
@Manager=rw
@Project2=rw
如果有个数据仓库可以允许任何用户(包括匿名用户)可以访问,但是对数据仓库进行写入时需要进行权限验证。
我们把Apache的httpd.conf文件中的Require valid-user替换成以下代码:
<LimitExcept GET PROPFIND OPTIONS REPORT>
require valid-user
</LimitExcept>
这样我们就完成了Apache访问SVN的权限设置。
接下来我们将上面的例子完成,现在笔者的Windows操作系统的桌面上有两个项目为Test1、Test2分别导入到SVN服务器的数据仓库SubRepository1、SubRepository2中。
操作步骤如下:
图1-48 导入步骤一
图1-49 导入步骤二
图1-50 输入验证信息
图1-51 导入成功
图1-52 查看结果
项目Test2通样按着上面步骤导入到SubRepository2中。
现要求把数据库SubRepository 中的项目导出到D:\的Test目录中。
操作如下:
在当前文件夹下,点击鼠标“右键”选择SVN Checkout菜单,如图1-53所示。
在弹出窗口
中的URL of repository中填写该数据仓库的访问路径,这里写上
http://localhost/svn/test1如图1-54所示。
接下来点击“OK”,弹出一个验证信息对话框,我们输入相应的用户名与密码完成导出,如图1-55所示。
图1-53 导出步骤一
图1-54 导出步骤二
图1-54 导出步骤三
图1-55 导出信息提示
图1-56 导出的项目文件3.5 MyEclipse整合SVN
MyEclipse是一个十分优秀的J2EE开发软件,它整合SVN版本控制工具有利用于我们利用该软件进行团队开发项目。
在整合时,需要安装Subclipse插件。
下载地址如下:。
该插件也可以通过MyEclipse软件进行在线安装,安装步骤如下图所示:
1)整合过程
打开本地电脑的MyEclipse软件,点击“Help”→“Software Updates”→“Find and Install”选项。
如图1-57所示:
图1-57 整合步骤一
打开Install/Update窗口后,选择Search for new features to install选项。
弹出安装窗口如图1-59所示。
图1-58 整合步骤二
图1-58 整合步骤三
点击“New Remote Site”按钮,弹出图1-59窗口,并输入相关信息。
图1-58 整合步骤四
以上在“New Update Site”窗口中的Name与URL的地址是根据 网站上介绍插件安装的方法找出来的。
我们根据自己安装MyEclipse的版本号找出相对应的Subclipse插件。
该网站列出的相应地址如下:
Name: Subclipse 1.6.x (Eclipse 3.2+)
URL: /update_1.6.x
Name: Subclipse 1.4.x (Eclipse 3.2+)
URL: /update_1.4.x
Name: Subclipse 1.2.x (Eclipse 3.2+)
URL: /update_1.2.x
Name: Subclipse 1.0.x (Eclipse 3.0/3.1)
URL: /update_1.0.x
填写好了之后,点击“ok” “finish”。
图1-59 整合步骤五
图1-60 整合步骤六
图1-61 整合步骤七
图1-62 整合步骤八
图1-63 整合步骤九
在图1-63点击“Finish”按钮之后,系统自动下载安装,直到整合结束。
2)基本操作
打开本地安装的MyEclipse软件,在菜单栏中点击“Window” “Show View”,在Show View窗口中多了一个SVN的栏目。
展开SVN的栏目,点击“SVN Repositories”选项。
图1-64 MyEclipse中的SVN Repositories客户端
此时,我们可以通过在MyEclipse中把SVN服务器的项目签到本地来,以把SVN服务器中的Test1的项目为例。
在图1-64的SVN Repositories窗口的空白处点击右键,在弹出的菜单中,选择“New” Repository Location,在弹出的窗口中输入Test1项目的URL,如图1-66所示。
图1-65 连接SVN服务器一
图1-66 连接SVN服务器二
图1-67 连接SVN服务器三
通过图1-67我们可以查看远程的SVN数据仓库中相应的项目,在即将要导出的数据仓库的上,点击右键,在弹出的菜单中,点击“Checkout”选项,并弹出窗口如图1-69所示。
图1-68 连接SVN服务器四
图1-69 连接SVN服务器五
图1-69的第一个选项中,Check out as a project configured using the New Project Wizard 表示将远程SVN数据仓库中的项目将导入一个新建的工程中,Check out as aproject in the workspace表示将数据仓库的项目导入到本地MyEclipse工作平台中。
因为我们此时在MyEclipse中是没有任何项目,因此我们选择第一个选项。
图1-70 创建工程一
图1-71 创建工程二
图1-72 创建工程三
通过以上几个步骤,我们成功的将SVN服务器中的项目Test1导入到了本地项目中,通过MyEclipse的Package Explorer中可以查看到项目的信息。
我们双击图1-72中的Test1.java。