- 浏览: 297078 次
- 性别:
- 来自: 东京
文章分类
最新评论
-
80后的童年2:
企业级分布式搜索平台Solr视频教程网盘地址:https:// ...
企业级搜索引擎Solr使用入门指南 -
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene / Solr 开发经验 -
springdata-jpa:
java web开发分页demo源代码下载:http://ww ...
简易java分页标签 -
zjf_sdnu:
兄弟,script写错了
jqGrid初学备注 -
85600367:
你好,请教一个问题。当进行分布式查询时solr无法查询到Luc ...
Lucene / Solr 开发经验
摘要
Subversion (SVN) 是一个版本控制系统,是CVS的极具竞争力的替代品。它支持CVS所缺少的一些重要特性,比如版本化的重命名、目录和元数据;还支持原子提交和通过 HTTP/HTTPS的远程访问。许多开源项目使用Subversion作为版本控制系统,其中包括BEA的dev2dev CodeShare 站点上的项目。 有一个简短的指南介绍了如何为CodeShare建立支持Windows的命令行SVN客户端和Tortiose SVN。然而,使用自己的IDE中的Subversion库才有意义。
本文描述如何在Eclipse IDE中使用Subversion,具体来说,介绍了Subclipse插件的安装和使用。顺着这个思路,我还将展示如何使用产生的配置来修改或扩展Subclipse插件本身。
安装Subclipse
安装Subclipse的最好方法是使用Eclipse Update Manager。在Eclipse 3.1中,它位于Help -> Software Updates -> Find and Install...菜单下。请选择Search,查找要安装的新特性,并以http://subclipse.tigris.org/update作为URL添加New Remote Site。
扫描完更新后,您会看到一个可用特性的列表。我写这篇文章时,Subclipse 0.9.33是最新的更新版本。
在接下来的界面中,会请求用户接受许可证并选择安装位置。建议不要将新插件(包括Subclipse)安装在默认的Eclipse安装目录下,最好将其放 在一个外部扩展位置中。这会使手动卸载这些特性更加容易,如果需要的话;同时也使插件可以在多个版本的Eclipse安装之间共享,比如发行版、尝鲜 (early access)稳定版(M1、M2等等)和集成IDE版本。
此时,Update Manager已下载并安装了所选特性,然后请求重启Eclipse。
一旦重启Eclipse,用户就会在Preference对话框中看到一个新的SVN区域,并且还会看到有关Subversion活动的其他视图。可以使 用Window -> Show View -> Other...菜单将这些视图添加到Java Perspective中。
我通常将SVN Repository视图添加到Quick Views中,而将SVN Resource History添加到位于Java Perspective工作区底部的一个标签组中。这样,在开发过程中,这两个视图就近便可用了,同时也便于利用拖放来运行某些任务,比如“获得资源历 史”(从诸如Navigator、Package Explorer、SVN Repository和Synchronize之类的面向资源的视图到SVN Resource History视图)。
在Subclipse中配置SVN接口
可以配置Subversion服务器来使用下列协议之一:
- SVN协议,一种轻量级的有状态协议,由独立的Subversion服务器(svnserve)所使用。安全版本svn+ssh使用基于ssh的隧道。
- http协议,基于WebDAV扩展,通常被作为模块部署在Apache HTTP服务器上。安全版本使用https,dev2dev CodeShare上的Subclipse安装使用的就是该协议。
- file协议,用于访问本地可用的Subversion库(例如,共享驱动器上的Subversion库),它是最少选择的库。
Subclipse使用专门的适配器抽象化来利用上述协议。可以在Window -> Preferences -> Team -> SVN对话框的插件属性中选择下列适配器中的一种。
每一种适配器都有其自身的优点:
- JavaSVN是惟一完全基于Java的Subclipse客户端,是默认支持的。注意,JavaSVN不支持file:///协议。
- JavaHL是包装本地Subclipse API的瘦包装器。该适配器是为Win32平台预构建的,但是在其他所有的平台上必须手动构建(除非Unix发行版中包含它)。
- 命令行适配器,只有在不能安装JavaHL并且Subclipse库使用file:///协议时才可以使用。
大多数情况下都可以使用JavaSVN;只有需要时才选择JavaHL或命令行适配器。参考资料小节中的链接可以特定用例,如配置HTTP代理、SSL客户端证书,等等。
连接到CodeShare上的SVN库
现在就可以连接到Subversion库了。对于dev2dev CodeShare上的项目,可以在访问选项页面中看到一个库的URL,可以从Version控制项目菜单中找到该页面。 这里是一个例子 。CodeShare SVN服务器要求用户使用的用户名和口令与其在dev2dev网站上所使用的相同。
如果连接参数设置正确,就可以看到一个SSL证书确认对话框。
接受证书后,应该就可以浏览库并查看现有项目。
现在已经准备好,要开始使用Subversion和Subclipse插件了!
查看SVN中的现有项目
在SVN Repository视图中可以看到,在许多CodeShare项目以及使用Subversion的其他项目中都可以看到一种共同的布局,通常如下所示:
https://xjms-ra.projects.dev2dev.bea.com/svn/xjms-ra
+-- branches
+-- www
+-- xjms-ra
+-- mqseries (work in progress)
+-- activemq
+-- tags
+-- xjms-ra
+-- 0.0.1 (stable versions or releases)
+-- 0.0.2
+-- trunk
+-- www (project web site)
+-- xjms-ra (project source)
trunk文件夹中包含主线开发源代码;tags文件夹中包含稳定版或发行版;branches文件夹中包含来自替代开发线上的代码。在Subversion中,标签和分支仅仅是选中的源代码快照的版本化副本。若想获得更多详细内容,请参阅Subversion book。
可以在SVN Repository视图中选择当前项目的主线或者特定的标签或分支,并从弹出菜单中选择Check Out As...动作。接着就会出现一个指导性的标准New Project Wizard,它允许用户选择项目类型(例如,Java或Simple Project)、项目名称和位置,并在需要时配置Java build路径。
为新的CodeShare项目配置SVN库
版本控制库是任何项目的基础架构的重要部分,对于开源项目(包括CodeShare上的项目)而言,它还在开发人员与其他社区成员之间的交流中 起着重要作用。例如,它允许终端用户为最新的代码捐献补丁,并为重要的修复提供早期更新机制。由于它的重要作用,为一个新项目配置SVN库并从一开始就将 所有的项目代码置于版本控制之下就显得非常重要了。
创建了新CodeShare项目之后,SVN库就包含了trunk、tags和branches文件夹,以及trunk下的www模块,它包含项目Web 首页的index.html文件。可以在SVN Repository视图中验证这些,并使用该视图中的弹出菜单上的动作创建缺少的文件夹。
我们假设所有的源代码、build脚本、文档和其他项目资源被组织为一个Eclipse项目,那么就可以在Package Explorer或Navigator视图中使用弹出菜单中的Team -> Share Project...动作。Share Project Wizard会要求用户选择SVN库类型,然后在下一个页面中,可以选择一个现有库或配置一个新库。
在接下来的界面中指定模块名。为了与CodeShare项目布局相匹配,我们应该在trunk文件夹下创建模块,因此,指定trunk/ <project name="">作为模块名,比如trunk/xjms-ra。</project>
经过确认后,Subclipse会创建模块,并将所有的项目文件导入SVN库。
使用SVN库
当项目连接到SVN库以后,在Package Explorer和Navigator视图中会弹出一个Team菜单,显示特定于Subversion的全部动作。可以直接运行Commit、Update、Add to svn:ignore,以及Version Control with Subversion一书中所描述的其他动作。该书中的内容也可以在Help -> Help Contents -> Version Control with Subversion下的Eclipse帮助系统中找到。
Subclipse插件还允许使用Eclipse的Team Synchronize视图,它可以使用户从库中清楚地观察到哪些项将要提交、哪些项已经被其他开发人员更改并需要更新。从这个Synchronize视图中还可以执行大多数的SVN命令。
可以使用弹出的Team -> Synchronize with Repository菜单或位于主工具栏上的Synchronize...向导按钮将项目或工作集添加到Synchronize视图中。如果看不到该按 钮,那么请将Team命令添加到当前视图中;可以使用Customize Perspective对话框添加,该对话框可从主工具栏上的弹出菜单中获得(单击任意空白处),然后,使用Window -> Save Perspective As...菜单以相同的名称保存透视图。
在工具栏下拉菜单中选择Synchronize...动作来启动向导。在第一个界面中,它又让用户选择SVN版本跟踪系统,然后会显示标准资源选择面板,用户可以选择同步整个工作区,也可以选择某组项目或者一个指定的工作集。
一旦完成创建,Synchronize视图就可以使用版本控制系统安排自动刷新的时间。可以通过Synchronize视图菜单中的Schedule...菜单对其进行配置。这将有助于用户保持最新状态,还可以看到其他开发人员所做的所有改动。
由于Subclipse仍在发展,所以用户可能会遇到bug或者无法找到真正希望获得的一些特性。这带我们进入下一个话题。
修补Subclipse
当在Subclipse中遇到问题时,可以有多种选择。如果是瑕疵问题,那么可以简单地选择不使用该产品或等待下一个版本。还可以搜索问题跟踪系统以及邮件列表档案user@subclipse.tigris.org和dev@subclipse.tigris.org,有可能找到当前问题的应对措施或解释。如果这样没有帮助,那么可以在邮件列表中咨询此问题;如果有兴趣试着自己解决,那么,下面的段落将简要介绍如何开始调试和修补Eclipse。但是,如果非常希望有所捐助,那么一种好的方法是订阅dev@subclipse.tigris.org邮件列表,从而使您所做的努力与其他开发人员相协调,根据项目路线图调整您的想法。
着手开始真的非常容易,即使您以前从没有使用过Eclipse插件。需要将Subclipse项目放入Eclipse工作区中。Subclipse项目的Subversion库位于http://subclipse.tigris.org/svn/subclipse/,可以使用以前安装的Subclipse插件或者诸如命令行Subversion客户端或TortoiseSVN之类的外部工具来查看代码。还有一种非常好的办法是在tigris.org Web站点上注册,并请求Subclipse项目的Observer角色。然后,就可以使用相同的用户名连接到Subversion库了(也可以用 “guest”/“guest”进行只读访问),还可以在问题跟踪器(一个集成的Bugzilla库)上发表评论,并附上对问题的补丁(如果有的话)。
一旦连接到版本控制库,就需要在自己的工作区中检查下述项目。对每一个模块选择Check Out As...,选择一个位置和项目名(建议使用下表所列出的实际的插件名),并单击Finish。
trunk/svnClientAdapter | svnClientAdapter.jar | 用于非Windows系统,或者当用户需要构建svnClientAdapter或JavaHL时 |
trunk/subclipse/core | org.tigris.subversion.subclipse.core | 特定于Eclipse的插件后端 |
trunk/subclipse/javahl-win32 | org.tigris.subversion.javahl.win32 | 为svnClientAdapter和JavaHL预构建本地Windows二进制文件 |
trunk/subclipse/ui | org.tigris.subversion.subclipse.ui | 特定于Eclipse的UI |
trunk/subclipse/feature-plugin | org.tigris.subversion.subclipse | 介绍,无代码 |
trunk/subclipse/feature | org.tigris.subversion.subclipse (feature) | Subclipse特性 |
trunk/subclipse/book | org.tigris.subversion.book | Eclipse帮助小节,包括“Version Control with Subversion”这本书 |
trunk/subclipse/book-feature | org.tigris.subversion.book (feature) | “Version Control with Subversion”这本书的特写 |
trunk/subclipse/update-site | - | Subclipse和“Version Control with Subversion”一书的特写的更新站点 |
对于开发和测试,只需要org.tigris.subversion.subclipse.core, org.tigris.subversion.subclipse.ui以及org.tigris.subversion.javahl.win32或 svnClientAdapter;其他的模块仅在打包整个插件特性或构建更新站点时需要。
当所有的项目都在Eclipse工作区中之后,就可以试着运行了。使用Run -> Run...菜单(或Debug,在调试器下运行),启动新的Eclipse Application类型,并在Workspace Plug-Ins列表中选择Subclipse插件。如果使用已安装的Subclipse运行IDE,那么应该在External Plug-Ins列表中取消对Subclipse插件的选择,但是要使其他插件均保持选中状态。
单击Run(或Debug),如果一切都配置正确,那么就会出现第二个Eclipse Workbench窗口;应该可以打开Subclipse视图,并像Eclipse本身的实例一样连接到库。此时,如果是在调试器下运行,就可以开始将断 点放到Subclipse类、或Subclipse所使用的Eclipse核心类中,调试器会停在这些断点上。一个非常好的起点是 org.tigris.subversion.subclipse.ui插件中的 org.tigris.subversion.subclipse.ui.actions包,它包括菜单或工具栏中特定于Subclipse的UI动作。 注意,可以使用UI注册这些动作,可以在plugin.xml中声明式地注册(通常是action元素),或者是在Java代码中编程式地注册,因此,这 两个地方都要查看。
假定已经完成了最棘手的部分,并且已经设法实现了更改,那么现在就该创建补丁并将其附在Subclipse 问题跟踪库中的原始问题上了。在创建补丁以前,请确保从版本控制库中选择最新的更改(如果有的话),并最后一次测试更改。如果一切都没有问题,那么就使用 Team -> Create Patch...菜单来启动向导。选择Save To Clipboard或Save In File System,并指定是否需要对子目录进行循环扫描来查看更改。
创建了补丁之后,就可以将其发送至dev@subclipse.tigris.org邮件列表了,或者也可以在问题跟踪器中创建问题并将其附上。
结束语
诸如Subclipse插件之类的Eclipse平台开源扩展可以提高开发人员的生产力,降低出错的可能性,并增强开发团队内部的交流。本文演 示了如何安装、配置和使用Subclipse插件来从Eclipse IDE内部与Subversion版本控制系统进行交互。
以Subclipse插件为例,本文还演示了如何设置一个环境以进行Eclipse插件开发、如何调试现有插件、如何创建补丁。事实上,任何Eclipse用户都可以为该开源扩展以及Eclipse平台本身捐献想法和补丁。
参考资料
- Subversion——Subversion主页
- Version Control with Subversion——一本非常不错的Subversion方面的书
- Subclipse - Subversion Plug-in for Eclipse IDE
- JavaHL for Mac OS X
- Building JavaHL from sources
- Configuring an HTTP proxy connection for JavaHL and command-line adapters
- Configuring an HTTP proxy connection for JavaSVN
- Configuring SSL client certificates
- Configuring an svn+ssh:// connection for JavaHL and command-line adapter on Unix
- Configuring an svn+ssh:// connection for JavaHL and command-line adapter on Windows
- Configuring an svn+ssh:// connection for JavaSVN adapter
- Subclipse FAQ
- dev2dev Eclipse Technology Center
原文出处:http://dev2dev.bea.com/pub/a/2005/11/subclipse.html
1.安装svn-1.3.0-setup.exe(可以在http://subversion.tigris.org/下载得到)
2.安装成功后,在命令行输入svnadmin create D:\svnhome\workflow,建立工程,svn自动会在该目录下建立若干文件
[users]
admin = 123
在svnserve.conf文件中增加
[general]
anon-access = read
auth-access = write
password-db = passwd
realm = svnhome
到这一步svn服务器已经配置完成了,下面是导入需要版本控制的工程
4.在命令行执行import命令
例如:D:\svnhome\workflow>svn import D:\eclipse\workspace\Workflow
回车后命令窗口显示
新增 D:\eclipse\workspace\Workflow\.classpath
新增 D:\eclipse\workspace\Workflow\.project
新增 D:\eclipse\workspace\Workflow\src
新增 D:\eclipse\workspace\Workflow\src\com
新增 D:\eclipse\workspace\Workflow\src\com\bright
新增 D:\eclipse\workspace\Workflow\src\com\bright\sw
说明工程引入svn控制成功
1.更新安装http://subclipse.tigris.org/update的subclipse插件
2.安装完成后eclipse会自动重启后,在svn的透视图中可以看到svn的相关菜单
3.将新的 SVN 资源库添加至“SVN 资源库。url为svn://localhost/svnhome/workflow
4.引用项目成功后,便可以用前面的用户名和密码来更新和提交工程内文件了。
5.subclipse的较新版本都是中文的,详细操作略。
发表评论
-
Eclipse快捷键
2011-12-22 14:05 1361好久没用了,再回顾一下,免得忘了。 编辑 ... -
设计模式备忘 - 行为型
2010-03-29 23:59 1488责任链模式(Chain of Responsibility) ... -
设计模式备忘 - 结构型
2010-03-28 17:50 1242适配器模式(Adapter) 将一个类的接口转换成客户希望的 ... -
设计模式备忘 - 创建型
2010-03-28 16:04 1173工厂模式 工厂模式主 ... -
SVN同步备份
2009-05-30 22:59 2931首先建立一个空的repository,svnadmin cre ... -
Eclipse下配置Tomcat debug
2009-05-24 21:16 8197Eclipse下自带有Tomcat debug插件,不过该插件 ... -
Jboss SSL on Debian
2009-03-22 12:17 12441. Generate self-signed certifi ... -
IzPack使用备注
2009-02-11 01:05 3764install.xml <?xml version=&q ... -
Maven初学备注
2009-01-06 23:35 3452项目生命周期:process-resources -> ... -
How to integrate Solr and Jboss
2008-09-11 22:50 1850本文转自 http://www.mail-archive.co ... -
什么是JMX?
2008-08-28 21:31 1350转自:http://www.blogjava.net/mlh1 ... -
JNLP介绍
2008-08-02 17:44 2994原文地址:http://blog.csdn.net/yq760 ... -
Apache虚拟主机配置
2008-07-10 16:42 3294Apache虚拟主机配置 来自 Clay的日记 ... -
Apache配置.htaccess\.htpasswd
2008-07-10 16:59 2740Apache配置.htaccess\.htpasswd 来自 ... -
Apache服务器中的URL重写的配置和应用
2008-07-10 17:15 2356Apache服务器中的URL重写的配置和应用 来自 Clay的 ... -
Log4j常用配置
2008-01-31 18:25 1804常用log4j配置,一般可以采用两种方式,.propertie ... -
SVN常用目录结构
2007-12-26 22:29 5114特殊目录名说明 trunk 主干,存储最新稳定版本 tag ... -
Windows下SVN服务器的搭建
2007-12-26 22:25 85161,软件下载 下载Subvers ...
相关推荐
**使用SUBCLIPSE——针对ECLIPSE的SUBVERSION插件详解** Subversion(简称SVN)是一种广泛使用的版本控制系统,它提供了比CVS更先进的功能,如版本化的文件重命名、目录操作以及元数据版本控制。SVN还支持原子提交...
安装这个插件后,Eclipse的“Team”菜单下会新增针对SVN的选项,例如“Share Project”(共享项目)用于将项目添加到版本库,"Commit"(提交)用于将本地修改推送到服务器,"Update"(更新)用于获取服务器上的最新...
本篇文章将详细介绍如何在Eclipse中安装插件,特别是针对Subversion(SVN)的Subclipse插件,帮助开发者更方便地进行版本控制操作。 首先,让我们了解Eclipse安装插件的几种基本方法: 1. **Eclipse Marketplace**...
Subversion 1.2x 插件是针对Eclipse集成开发环境的一个版本控制系统插件,主要用于支持Subversion(SVN)版本控制系统的操作。Subversion是一个开源的版本控制系统,允许用户跟踪文件和目录的更改历史,便于团队协作...
该插件是eclipse_svn_site-1.10.5,表明这是针对Eclipse的一个特定版本优化的SVN插件站点资源,版本号为1.10.5。 在Eclipse中安装SVN插件通常分为以下几步: 1. **获取插件**:首先,你需要下载适合你当前Eclipse...
【标题】"site-1.8.22 Eclipse SVN插件"指的是...综上所述,"site-1.8.22 Eclipse SVN插件"是Eclipse IDE中用于Java项目版本控制的Subversion插件,它为开发者提供了无缝集成的版本控制体验,便于团队协作和代码管理。
Eclipse SVN插件是开发人员在Eclipse集成开发环境中与Subversion版本控制系统交互的重要工具。Subversion(SVN)是一种广泛使用的开源版本控制系统,用于跟踪文件和目录的更改,便于团队协作。Eclipse SVN插件使得...
Eclipse SVN 1.8插件是专门为Eclipse集成开发环境设计的一款版本控制系统插件,用于支持...同时,由于插件是针对Eclipse和MyEclipse优化的,因此它能够与这两个IDE的其他功能很好地协同工作,提供统一的用户体验。
【Eclipse3.4插件】是针对Eclipse集成开发环境(IDE)的一个特定版本,旨在增强其功能,特别是对于Java开发。Eclipse作为一个开源且跨平台的开发工具,广泛用于编写Java应用程序,但它的核心功能往往需要通过安装...
SubVersion插件是针对特定开发环境(如Eclipse、IntelliJ IDEA等)的扩展,它允许开发者在集成开发环境中直接进行版本控制操作,如提交、更新、查看历史记录等,无需离开IDE。下面将详细介绍SubVersion插件及其相关...
"site-1.10.13-1.8.x.zip"这个文件是针对Eclipse的一个特定版本,1.10.13,适配的是SVN的1.8.x系列。以下是关于这个插件及其安装的详细知识点: 1. **Eclipse SVN插件**:Eclipse中的SVN插件通常称为Subversive或...
2. EasyEclipse for LAMP:针对PHP、Python、Perl、Ruby以及Ruby on Rails的开发,此插件包含了网络服务器、数据库、CVS和Subversion支持,是动态语言开发者的理想选择。 3. CFEclipse:面向ColdFusion开发,具备...
在给定的压缩包文件“eclipse的SVN插件+MyBatis插件.zip”中,包含了两个重要的Eclipse插件:一个用于版本控制工具Subversion(SVN)的插件,另一个则是针对持久层框架MyBatis的插件。这两个插件对于Java开发人员来...
Eclipse SVN 1.8.22 插件是一款针对Eclipse集成开发环境(IDE)设计的Subversion版本控制工具。Subversion(SVN)是一种广泛使用的版本控制系统,用于跟踪和管理软件项目的源代码和其他文件的变更。Eclipse SVN插件...
site-1.6.18表示这是Eclipse SVN插件的一个特定版本,针对Subversion 1.6.18版本设计和优化。 1. **Eclipse SVN插件**:Eclipse集成的Subversion客户端,通常称为Subversive或Subclipse,提供了图形化的界面,使...
Eclipse SVN插件是开发人员在使用Eclipse集成开发环境时进行版本控制的重要工具,它使得用户能够方便地与Subversion(SVN)服务器交互,实现代码的版本管理。此插件的最新版本为site-1.10.9,这表明它是针对...
- **检查错误日志**:Eclipse的错误日志(log文件)通常会提供失败的具体原因,根据日志信息进行针对性的解决。 - **社区支持**:如果以上步骤都无法解决问题,可以寻求Eclipse或SVN社区的帮助,分享错误信息和已...
SubEclipse 是一款基于 Eclipse 的 SVN(Subversion)客户端插件,可以无缝集成到 Eclipse 中,支持版本控制系统的大部分常用操作,如提交、更新、比较等。这对于团队协作开发项目尤为重要,可以有效地管理源代码...
Eclipse SVN插件是开发人员在使用Eclipse或MyEclipse集成开发环境中管理版本控制的重要工具,特别是对于Subversion(SVN)用户来说,这款插件提供了无缝的版本控制系统集成。2011年的最新版本旨在提升用户体验,提高...