Eclipse中的SVN分为两个阵营。SVN的人开发了一个名为Subclipse的插件。Eclipse开发人员有一个名为subversion的插件。广义上讲,他们做的事情是一样的。它们各自的优点和缺点是什么?
当前回答
我会试着回答这个问题。我是Subclipse的项目负责人,我管理项目的所有发布等。所以我的偏见很明显。
我不打算过多地谈论颠覆。显然,有用户在使用它并喜欢它。产品功能非常相似,都是成熟的产品。
我想要评论的一件事是,subversion在某种程度上是“官方Eclipse”插件。这是不正确的,因为没有这样的名称。Eclipse是一个开源基金会,任何想要遵循他们的规则、流程和IP需求等的项目都可以在这个基金会中托管他们的项目。这并不意味着你比其他插件更正式或更不正式。
我还要指出,subversion自成立以来一直处于“孵化”阶段,在我看来,它永远也达不到毕业的要求。正如您在这里看到的,项目中只有一个提交者,提交活动已经减少到非常低的水平。
颠覆性- SVN团队提供者
那么为什么要使用Subclipse呢?我们积极参与Subversion本身。我是Subversion PMC成员,帮助维护Java语言绑定,以便我们(以及像Subversion这样的其他项目)可以使用API。
我们直接与Subversion合作来定义和改进API,并确保将必要的特性公开给Subclipse等客户端。我们还与Visual Studio集成(AnkhSVN)和TortoiseSVN团队密切合作,以确保跨客户端有相对一致的用户体验。
Subclipse仍在积极维护,我们维护对Eclipse 3.2到4.2版本的支持。我们总是尝试着听取反馈并整合来自社区的想法。最近的1.8。x发行版包括内部更改,这些更改在处理大型项目时极大地提高了Eclipse的性能(这就是您真正看到它的时候)。
Subclipse在合并跟踪支持等领域处于领先地位,我们与Subversion团队密切合作,首先在1.5中添加了该特性,然后在后续版本中对其进行了改进。我们通常是新API的最初消费者,并为项目提供加强该特性所需的反馈。几年前,我们还引入了一个图形化的修订图形特性,成为第一个将这个渴望已久的特性提供给Eclipse用户的公司。
如果subversion中有人们希望在Subclipse中实现的特定UI功能,我鼓励您访问我们的社区并参与我们的论坛。也许其他用户可以分享你的观点,我们可以一起改进用户界面。
论坛[Subclipse-users]。
Eclipse 4.2是本文发布时的最新版本,但是可以肯定的是,Subclipse将支持所有未来的Eclipse发行版。
其他回答
如果您在自己的公司中使用其中的一种,甚至希望将它们捆绑到自己的基于Eclipse的产品中,那么使用Subclipse会更方便,因为它是在业务友好的Eclipse公共许可证下可用的。
另一方面,颠覆性需要所谓的连接器才能充分发挥作用。这些公司拥有不同的执照。因此,您可能会为subversion功能获得两到三个不同的许可证,而所有其他Eclipse插件都在一个EPL之下。这也是为什么这些连接器没有托管在eclipse.org上的原因。
这就是在subversion安装之后动态下载它们的原因(这也意味着仅仅镜像eclipse.org更新站点并不能在公司网络中提供可用的subversion离线安装)。
如果您使用TortoiseSVN并定期更新版本,您可能会发现Eclipse与subversion丢失了所有SVN信息并抛出一些可怕的错误。
原因是新版本的TortoiseSVN添加了新的元数据,Eclipse subversion无法理解这些元数据,除非您也使Eclipse SVN连接器保持最新状态。
我一般使用SVNKit连接器,所以TortoiseSVN 1.5。x将与Eclipse SVNKit连接器1.5兼容。x和TortoiseSVN 1.6。使用Eclipse SVNKit连接器1.6.x。
我还没有真正使用过它,但它似乎支持“检出As”,就像内置CVS支持一样。
比如,从SVN中获取一个项目,并能够将其作为一个web项目运行,人们可能能够一气呵成。但是为了在Subclipse中得到相同的结果,我只需要检查源代码并运行:
mvn eclipse:eclipse -Dwtpversion=2.0
我刚刚发现,我不知道如何使用Subclipse查看属性差异。在subversion中,您可以在历史视图中选择两个修订,右键单击并从弹出的窗口中选择比较属性。这足以让我坚持做颠覆者。
尝试切换的原因是subversion在OS X上的奇怪行为:一些称为“svn缓存更新”的自动操作在每次“svn更新”运行后占用CPU的异常水平,总是要花很长时间才能完成。
我选择使用Subclipse,因为它与Subversion项目联系最紧密,因此更有可能更好地处理SVN的核心功能。如果它不能执行任何功能,那么我有TortoiseSVN作为备份。
推荐文章
- 哪些Eclipse文件属于版本控制?
- 命令行svn for Windows?
- 如何在Eclipse Classic中安装Eclipse市场?
- 为什么logcat没有显示任何东西在我的Android?
- Eclipse中的Java项目:无法解析Java .lang. object类型。它是从必需的.class文件中间接引用的
- 我如何移动一个文件(或文件夹)从一个文件夹到另一个在TortoiseSVN?
- 开发Android应用最好的IDE是什么?
- 在Eclipse中查找TODO标记
- 从现有源代码创建新项目时,Eclipse“无效项目描述”
- 抛出异常时中断
- Eclipse字体和背景颜色
- 如何解决“java.net.BindException: Address already in use: JVM_Bind”错误?
- Eclipse复制/粘贴整行键盘快捷方式
- 当“svn cleanup”失败时,我该怎么办?
- 如何附加javadoc或源jar在libs文件夹?