Eclipse中的SVN分为两个阵营。SVN人们开发了一个名为Subclipse的插件。Eclipse人有一个名为Subversive的插件。从广义上讲,他们俩都做同样的事情。每种都有哪些优点和缺点?
Eclipse中的SVN分为两个阵营。SVN人们开发了一个名为Subclipse的插件。Eclipse人有一个名为Subversive的插件。从广义上讲,他们俩都做同样的事情。每种都有哪些优点和缺点?
Answers:
两者非常相似,但是Subversive是“ eclipse svn提供程序”。我主要使用Subversive,因为它具有一些方便的功能:
历史分组
当我浏览分支的历史记录时,不仅可以看到每次提交的一堆行,还可以按今天,星期等对提交进行分组。
树干,分支和标签的映射
Subversive采用默认的svn布局:主干,分支,标签(可以更改),因此,每当要标记或分支时,只需单击一下即可提供标签或分支的名称。
就像我说的那样,这些都是微小的差异,我觉得很方便。两者都可以很好地与mylyn配合使用,但是总体而言,这两个扩展之间并没有太多区别。
与Subversive合并虽然很痛苦(还没有尝试Subclipse),但我从未能够成功合并。合并的预览效果很好,但是它永远不会完成合并,否则会花费很长时间。大多数时候,我会通过命令行完成合并而没有任何问题。
1.0.0.I20120601-1700
),合并代码再简单不过了。
我会回答这个问题。我是Subclipse的项目负责人,我管理该项目的所有发行版等。所以我的偏见很明显。
我不会过多谈论颠覆性。显然,有些用户喜欢它。产品在功能上非常相似,因为它们都是成熟产品。
我要评论的一件事是这种颠覆性概念是“官方Eclipse”插件。这是不正确的,因为没有这样的名称。Eclipse是一个开放源代码的基金会,任何想要遵循其规则,流程和IP要求等的项目都可以通过该基金会托管其项目。那并没有使您比其他任何插件都正式。
我还要指出,颠覆性技术自诞生以来一直处于“孵化”阶段,在我看来它并不能满足毕业的要求。如您在这里看到的,项目上只有一个提交者,提交活动已减少到非常低的水平。
那么为什么要使用Subclipse?我们积极参与Subversion本身。我是Subversion PMC成员,并且帮助维护Java语言绑定,以便我们(以及Subversive等其他项目)可以使用API。
我们直接与Subversion一起定义和改进API,并确保必要的功能对Subclipse这样的客户端公开。我们还紧密合作并与Visual Studio集成(AnkhSVN)和TortoiseSVN团队合作,以确保各个客户端之间的用户体验相对一致。
Subclipse仍在积极维护中,我们维护对Eclipse 3.2至4.2版本的支持。我们一直在努力听取反馈并吸收社区的想法。最新的1.8.x版本包含内部更改,这些更改极大地提高了在处理大型项目时(即当您真正看到它时)Eclipse的性能。
Subclipse在合并跟踪支持等领域处于领先地位,在该领域中,我们与Subversion团队密切合作,首先在1.5中添加了此功能,然后在后续版本中对其进行了改进。我们通常是新API的最初使用者,并向项目提供了强化功能所需的反馈。几年前,我们还引入了图形化修订图功能,成为第一个将此长期要求的功能引入Eclipse用户的功能。
如果人们希望在Subclipse中看到某些特定的UI功能,那么我鼓励您访问我们的社区并参与我们的讨论论坛。也许其他用户可以分享您的观点,我们可以一起改善UI。
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,具有更好的合并UI。
我不隶属于CollabNet。
CollabNet已使其改进的合并客户端提供给Subclipse的未注册用户。从更新站点安装Subclipse时,可以通过选择CollabNet Merge Client功能来获得它。
我会说Subclipse,因为我什至无法让Subversive工作;)
我实际上认为他们俩都很烂。我认为使用TortoiseSVN是更好的解决方案。它更加健壮,并且往往会更好地工作,而且我一直都遇到Subclipse和Subversive的集成问题。
他们俩都有着令人发指的疣,但我无法让Subversive处理我从命令行中签出的项目,这对我来说是个阻碍。
我都尝试了这两个方法,Subclipse和Subversive都很糟糕。两者都很难安装。如果使用Subversive,则不能使用外部SVN客户端。
但是,您需要在Eclipse中安装SVN客户端以跟踪更改,并且还不破坏本地存储库。
我已经安装了Subclipse,但是实际上使用TortoiseSVN来进行comitting /标记/分支/合并。
当然,两个IDE插件都有其问题。但是,都不能排除并行使用其他解决方案,例如TortoiseSVN或命令行。我在工作中使用这三个项目。
要记住的重要一点是,所有客户端SVN软件都应使用相同的SVN文件格式(不同版本的SVN格式不同),否则您将遇到麻烦。
我们发现的另一个问题是您的客户端软件使用与服务器不同的SVN文件格式。(通过文件格式,我的意思是在所有看似不可见的.svn文件中表示所有信息的方式,这些文件有效地记录了SVN需要了解的有关您的项目文件的信息。)这可能造成严重破坏。在1.5服务器和1.6客户端之间有一个已记录的错误,但是我现在找不到链接。
由于与SVN 1.5.5服务器不兼容,我们在运行高级(IMO)Subclipse 1.6插件时遇到问题。因此,我们恢复了颠覆性。它运行良好,尽管速度较慢,但存在一些问题(但有所改进)。不过,更新服务器后,我们将切换到Subclipse。是的,我们使用TortoiseSVN签出项目并将其导入Eclipse(速度更快)。
我们发现,正如其他发布者所说的那样,如果我们运行以1.6.x格式编写文件的更新版本的TortoiseSVN,将无法正常工作,但是当我们恢复到TortoiseSVN 1.5.x时,它就可以正常工作。命令行客户端也是如此(我们在Ant任务中利用了该客户端)。
如果您在公司中使用其中的一种,甚至可能希望将它们捆绑在自己的基于Eclipse的产品中,那么Subclipse会使您的生活变得容易得多,因为Subclipse可以通过商业友好的Eclipse Public License获得。
另一方面,颠覆性需要所谓的连接器才能充分发挥作用。那些有不同的许可证。因此,您可能只为Subversive功能获得了两个或三个不同的许可证,而所有其他 Eclipse插件都在该EPL下。这也是为什么不将这些连接器托管在eclipse.org上的原因。
这就是为什么在Subversive安装后动态下载它们的原因(这也意味着仅镜像eclipse.org更新站点并不能在公司网络中为您提供可用的Subversive脱机安装)。
直到2008年5月,我一直在使用Subclipse,但是由于某些项目的问题,我已切换到Subversive,并且没有问题。如果您正在做一些无头的Buckminster构建之类的事情,那么Subversive绝对是您的最佳选择。
如果使用TortoiseSVN并定期更新版本,您可能会发现Subversive的Eclipse会丢失所有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是Eclipse Ganymede平台中的默认SVN插件,因此有可能与Eclipse更好地集成。
当我和Helios一起工作时,我对Subclipse略有偏爱,因为它对bugtraq
属性的出色支持(请参见此处)。
“ 历史记录”视图显示一个单独的列(标题为bugtraq:label
,显示BUGID
s),并且上下文菜单具有专用于“打开错误URL”(链接到bugtraq:url
)的动作-我无法弄清楚如何使用Subversive访问任何此类信息。
我已经用过了,虽然Subclipse对我来说很脆弱,但Subversive(至少在以前的版本中)在我的同事不小心输入了错误的凭据时(我的网络登录名用于访问Subversion存储库)锁定了我的同事的帐户)。
随着时间的流逝,子剪辑往往会变得混乱。如果不定期刷新Eclipse,Subclipse似乎会丢失其文件跟踪信息。不过,老实说,由于我具有Easy Explorer插件,因此(偶尔)使用Subversive来获取历史记录和更改信息,但是我很容易浏览并使用TortoiseSVN来提交和更新我最近更改的项目。
我们在团队中都尝试过。
由于Subclipse(来自Galileo / Helios的公司)在通过VAS验证SVN服务器时遇到了一些麻烦,因此我们在其他地方也没有问题,例如TortoiseSVN客户端,浏览器(Internet Explorer 7除外)。
因此,我们安装Subversive
并解决了问题。
Subclipse相对于颠覆性的优势...确实有效!
很久以前,我在为依赖Subclipse的Eclipse开发协作插件时使用了Subclipse。插件的Subclipse部分从来没有问题,尽管整个Ant事情仍然让我有些困惑,但是好处是您不必了解Ant部分的工作原理就知道如何使用它。
我今天尝试安装PDT(这是另一个博客),然后再安装Subversive,因为与许多人一样,它被描绘为“ Eclipse SVN插件”。我无法一次安装四个连接器,因此必须一次安装一个,尝试一次安装一次,并且一次无法通过SVN服务器进行身份验证。
我正在尝试PDT和Subversive,因为我想节省时间,而不是花更多的时间在插件的不同问题上。
我卸载了Subversive,安装了Subclipse,然后像这样进行连接。
节省您的时间和麻烦,从一开始就进行Subclipse。
我也都用过。我遇到的问题是我的工作区中大约有150个项目,而当我选择所有插件并说“同步存储库”时,Subversive将花费很长时间。用户界面将冻结很长时间。我发现Subclipse更稳定。
无论如何,我经常结合使用这些工具。对于某些任务,例如签出整个分支,我更喜欢命令行。对于其他人,我使用TortoiseSVN。我主要使用Subclipse来查看历史记录并直接在该工具上运行比较,偶尔也可以进行比较(不过,我更喜欢“ 超越比较 ”)。