Eclipse,Subclipse和Subversive的SVN插件的优点和缺点是什么?

Eclipse中的SVN分散到两个阵营。 SVN的人开发了一个名为Subclipse的插件。 Eclipse人有一个名为Subversive的插件。 广义而言,他们都做同样的事情。 每个的优点和缺点是什么?

两者都非常相似,但Subversive是“日食svn提供者”。 我主要使用Subversive因为一些方便的function:

历史分组

当我浏览一个分支的历史logging时,而不是仅仅看到每一个提交的一堆行时,它可以按今天,周等分组提交。

树干,分支和标签的映射

Subversive采用默认的svn布局:trunk,branches,tags(你可以改变),所以每当你想要标记或分支的时候,你只需点击一下,你就可以提供标签或分支的名字。

就像我说的那样,我只是觉得方便而已。 两者都与mylyn很好,但总的来说,这两个扩展并没有太大的差别。

与Subversive合并是一个痛苦虽然(还没有尝试Subclipse),我从来没有能够成功合并。 合并的预览是伟大的,但它永远不会完成合并,否则将长途跋涉。 大多数时候我通过命令行完成合并,没有任何问题。

我会采取一个答案来回答这个问题。 我是Subclipse的项目负责人,我pipe理项目的所有版本等。 所以我的偏见是显而易见的。

我不会谈论太多的颠覆。 显然,有用户使用它并喜欢它。 在function上,产品非常相似,都是成熟的产品。

有一点我想要评论的是这个概念,Subversive是“官方的Eclipse”插件。 这是不正确的,因为没有这样的指定。 Eclipse是一个开放源代码的基础,任何希望遵循规则,过程和IP要求的项目都可以用基础来托pipe他们的项目。 这不会让你任何更多或更less的官方比任何其他插件。

我也会注意到,Subversive自成立以来一直处于“孵化”阶段,在我看来,它不会满足gradle要求。 正如你在这里看到的那样,项目中只有一个提交者,提交活动已经减less到非常低的水平。

颠覆 – SVN团队提供者

那么为什么要使用Subclipse呢? 我们积极参与Subversion本身。 我是一名Subversion PMC成员,帮助维护Java语言的绑定,以便我们(和Subversive等其他项目)可以使用API​​。

我们直接使用Subversion来定义和改进API,并确保必要的function暴露给像Subclipse这样的客户端。 我们还与Visual Studio集成( AnkhSVN )和TortoiseSVN团队密切合作,确保客户端具有相对一致的用户体验。

Subclipse仍然在积极维护,我们维护对Eclipse 3.2到4.2的支持。 我们一直在试图听取意见,并纳入社区的想法。 最近的1.8.x版本包含内部更改,可以在处理大型项目(即您真正看到它)时大大提高Eclipse的性能。

Subclipse在合并跟踪支持等领域处于领先地位,我们与Subversion团队密切合作,首先在1.5版本中添加此function,然后在后续版本中进行演变。 我们经常是新API的最初消费者,并为项目提供了加强特性所需的反馈。 几年前,我们还引入了一个graphics修订graphicsfunction,成为第一个将这个冗长的function提供给Eclipse用户的function。

如果Subversive中有特定的用户界面function,希望在Subclipse中看到,我会鼓励您访问我们的社区并参与我们的讨论论坛。 也许其他用户分享您的观点,我们可以一起改善用户界面。

论坛[Subclipse的用户]

Eclipse 4.2是本文发布时的最新版本,但假设Subclipse将支持所有未来的Eclipse版本,这是安全的。

随着每个新版本的Eclipse,我安装Subversive,因为它是由Eclipse提供的标准。 而且每一次都会有一些问题来认识我的预先存在的项目。

所以我最终卸载Subversive和安装Subclipse,而奇妙的工作。 我也经常从命令行和Eclipse中使用SVN,Subclipse没有这个问题。

阅读这篇文章后,我改变了Subclipse的手下来。
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407

如果你和Subversion做了很多的合并,那么你可能更喜欢CollabNet Desktop – Eclipse Edition。 您必须在CollabNet上注册一个帐户才能下载,但它是免费的。 它本质上是Subclipse与更好的合并用户界面。

我不隶属于CollabNet。

CollabNet已经将他们改进的合并客户端提供给Subclipse的非注册用户。 从更新站点安装Subclipse时,通过selectCollabNet合并客户端function来获得。

我会说Subclipse,因为我甚至不能得到Subversive的工作;)

我其实觉得他们都很糟糕。 在我看来,使用TortoiseSVN是一个更好的解决scheme。 它更健壮,往往工作得更好,我一直与Subclipse和Subversive的集成问题。

他们两个都有可怕的疣,但是我不能用Subversive来从我从命令行检查出来的项目工作,这对我来说是一个阻碍。

我尝试了他们两个,Subclipse和Subversive都是可怕的。 两者都具有挑战性的安装。 如果您使用Subversive, 则不能使用外部SVN客户端

但是,您需要在Eclipse中安装SVN客户端来跟踪更改,并且不会损坏本地存储库。

我有Subclipse安装,但使用TortoiseSVN实际上做comitting /标记/分支/合并。

Subclipse,因为至less它工作。

到目前为止,颠覆对我来说是一个失败的时刻。 对于我使用Subclipse检出的所有旧项目,它都不会很好。

当然,这两个IDE插件都有他们的问题。 但是既不排除像TortoiseSVN或命令行的其他解决scheme的并行使用。 我用这三个工作在我的项目。

要记住的重要一点是,所有的客户端SVN软件都应该使用相同的SVN文件格式 – SVN的版本不同 – 或者您正在寻求麻烦。

我们发现另一个问题是当你的客户端软件使用不同于服务器的SVN文件格式。 (通过文件格式,我指的是所有这些看似不可见的.svn文件中所有信息的performance方式,可以有效loggingSVN需要了解的项目文件。)这可能会造成严重破坏。 1.5服务器和1.6客户端之间有一个logging的错误,但我现在找不到链接。

由于与我们的SVN 1.5.5服务器不兼容,我们遇到了运行上级(IMO)Subclipse 1.6插件的问题。 所以我们回到了颠覆。 它工作正常,尽pipe缓慢,有点错误(但改善)。 不过,当我们的服务器更新时,我们将切换到Subclipse。 是的,我们用TortoiseSVN检查我们的项目,并将它们导入Eclipse(更快)。

我们发现,正如其他海报在这里所说,如果我们运行新版本的TortoiseSVN编写1.6.x格式的文件,但是当我们恢复到TortoiseSVN 1.5.x时,它工作得很好。 命令行客户端(我们利用我们的Ant任务)也是如此。

我select使用Subclipse,因为它与Subversion项目关系最密切,因此更有可能更好地处理核心SVNfunction。 如果完全没有执行任何function,那么我有TortoiseSVN作为备份。

只是一个更新。 我最近重新安装了Eclipse,面临Subclipse vs Subversive的select。 我也有我的麻烦试图让Subversive工作,所以我去Subclipse。

它完全安装在我的Linux 64位机器上,运行得很好。 我映射最常见的function,如更新,提交,..快捷方式,这是一个爆炸。 合并也是好的,虽然对于更大的合并,我仍然转向TortoiseSVN。 我试了3.5和3.6,他们都工作正常。 我结束了使用3.5,因为由于某些原因键绑定不适用于3.6。

如果您使用svn + ssh作为访问您的存储库的协议,我强烈build议您selectSubclipse:Subversive不够智能,无法正确记住您的凭据,并且每次更新工作副本时都会提示您input用户名和密钥每个svn外部你可能已经build立。

“记忆凭据”选项在此背景下被打破,并且自从Subversive首次公开发行以来。

如果您在公司中使用其中的一种,甚至可能希望将它们捆绑在自己的基于Eclipse的产品中,那么使用Subclipse可以让您的生活更轻松,因为它可以在适用于业务的Eclipse公共许可证下使用。

颠覆性的另一方面需要所谓的连接器来完成工作。 而那些有不同的许可证。 所以你最终可能只有Subversivefunction有两三个不同的许可证,而所有其他的 Eclipse插件都在这个EPL之下。 这也是为什么这些连接器不在eclipse.org上的原因。

这就是为什么在Subversive安装后dynamic下载的原因(这也意味着只需在eclipse.org更新站点上进行镜像就不会在公司networking中为您提供可用的Subversive脱机安装)。

直到2008年5月左右,我使用Subclipse,但由于一些项目的问题,我已经切换到Subversive,并使用没有问题。 如果你正在做像Buckminster构build的无头之类的东西,那么Subversive绝对是一个可以与之搭配的产品。

如果你使用TortoiseSVN,并定期更新版本,你可能会发现Eclipse与Subversive失去了所有的SVN信息,并抛出一些可怕的错误。

原因是新版本的TortoiseSVN增加了新的元数据,Eclipse Subversive不理解,除非你也保持你的Eclipse SVN连接器是最新的。

我通常使用SVNKit连接器,因此TortoiseSVN 1.5.x将与Eclipse SVNKit连接器1.5.x一起使用,而TortoiseSVN 1.6.x将与Eclipse SVNKit连接器1.6.x一起使用。

Subversive比Subclipse更具优势,如下所示。 但Subversion不具备的一个特性对于使用分支非常重要。 所以我们必须使用Subclipse

颠覆性的优点:

  • 查看和图标更丰富
  • 提交同步项目刷新后,提交的文件closures。

Subclipse的优势

  • 比较两个分支的能力

+1 Subclipse
-1颠覆

颠覆者甚至在轻微的重构之后就会感到困惑,并且具有如上所述的validation问题。

环境: STS 2.7.2(基于伽利略)

对于我来说,既不是更好或更坏,但Subversive是Eclipse Ganymede平台中的默认SVN插件,所以有机会更好地与Eclipse集成。

作为Brendons的补充回答:

我们从版本1.5.1开始使用Subversion,并首先使用Subclipse。 但是因为我们很大程度上依赖于合并function,所以我们切换到Subversive更加方便,并且在合并对话框中有一个单独的Reintegrate选项。

可能会妨碍合并的一个错误是,如果您明确select修订版,则不会将上一个修订版列出。 例如“101-100”不会合并r100,因此“100”不会合并任何东西。 (版本0.7.5)

它使用与CVS插件相同的指标。

当我和Helios一起工作时,由于对bugtraq属性的出色支持,我对Subclipse有一个轻微的偏好( 细节在这里 )。

历史视图显示了一个单独的列(标题为bugtraq:label ,显示BUGID ),上下文菜单有一个专门的操作来打开Bug URL(链接到bugtraq:url ) – 我不知道如何访问任何与Subversive这个信息。

自从我升级到Ganymede后,我一直在使用Subversive。 我在Linux(Ubuntu和Fedora Core),Windows XP和Mac OS X.5中使用Eclipse。 除了Subversion 1.5.1在Mac OS下使用正确的安全库的一些问题,我没有任何问题。 鉴于它已经被采纳为Eclipse技术项目,我倾向于从长期的期望来看下它的赌注。

我没有真正使用它,但似乎Subversive支持“ Check Out As ”,就像内置的CVS支持一样。

就像从SVN接受一个项目并能够将其作为一个Web项目运行一样,一个人也许可以一次完成这个项目。 但是为了在Subclipse中得到相同的结果,我只需检查源代码并运行:

  mvn eclipse:eclipse -Dwtpversion = 2.0 

我已经使用了两者,虽然Subclipse对我来说已经不复存在,但Subversive(至less在以前的版本中)在意外地input了错误的证书时locking了我的同事的帐户(networkinglogin用于访问Subversion存储库)。

随着时间的推移,Subclipse往往会变得杂乱无章。 如果Eclipse没有定期刷新,Subclipse似乎失去了它的文件跟踪信息。 老实说,因为我拥有Easy Explorer插件 ,所以我使用Subversive(偶尔)获取历史logging和更改信息,但是我很容易探索并使用TortoiseSVN来提交和更新我最近更改的项目。

我刚刚发现,我不知道如何查看与Subclipse的属性比较。 在Subversive中,您在历史视图中select两个修订,右键单击并从popup框中select比较属性。 这足以让我坚持Subversive。

尝试切换的原因是Subversive在OS X上奇怪的行为:一些名为“svn cache update”的自动操作在每次“svn update”运行后都会exception地使CPU处于exception状态,总是花费很长时间才能完成。

FWIW,我们使用的是SVN服务器的一个古老的版本(1.4东西),我似乎记得有一次有一个更新Subclipse,打破了向后兼容性的要求是“没有人应该在这样一个旧版本SVN“。

颠覆者是唯一能够处理旧版本的人。 虽然我不记得细节,对不起。

我们在我们的球队都尝试过。

由于Subclipse(来自Galileo / Helios的)在通过VASvalidation我们的SVN服务器时遇到了一些麻烦,所以在其他地方,即TortoiseSVN客户端,浏览器(除了Internet Explorer 7)没有任何问题。

所以我们安装了Subversive ,问题解决了。

Subversion的优点Subversive …它实际上工作!

很久以前,我在Subclipse上开发一个依赖于Subclipse的Eclipse插件。 插件的Subclipse部分从来不是一个问题,虽然整个Ant的东西仍然让我困惑了一些,但最好的部分是你不必了解Ant部分如何工作以知道如何使用它。

我试图今天安装PDT(这是一个整体的其他博客),然后颠覆,因为像很多,它被描绘成“Eclipse的SVN插件”。 我无法一次安装四个连接器,所以我不得不一次一个地安装它们,一次一个地尝试它们,一次只能安装一个,无法与SVN服务器进行身份validation。

我正在尝试PDT和Subversive,因为我想节省时间,而不是在插件的不同问题上花费更多。

我卸载Subversive,安装Subclipse,并连接就像那样。

节省时间和麻烦,从一开始就去Subclipse。

我也用过两个。 我遇到的问题是我的工作区中有大约150个项目,而Subversive在select所有插件并说“同步存储库”时会花费很长时间。 界面会冻结很长时间。 我发现Subclipse更稳定。

无论如何,我把这些工具很多。 对于像检查整个分支的一些任务,我更喜欢命令行。 对于其他我使用TortoiseSVN 。 我主要使用Subclipse查看历史logging并直接在工具上运行比较,偶尔进行比较(尽pipe如此,我更喜欢Beyond Compare )。