Eclipse中的SVN分为两个阵营。SVN的人开发了一个名为Subclipse的插件。Eclipse开发人员有一个名为subversion的插件。广义上讲,他们做的事情是一样的。它们各自的优点和缺点是什么?


当前回答

FWIW,我们使用的是一个旧版本的SVN服务器(1.4左右),我似乎记得有一次Subclipse的更新打破了向后兼容性,要点是“没有人应该使用这么旧版本的SVN”。

颠覆是唯一一个似乎能够处理旧版本。但我不记得细节了,抱歉。

其他回答

两者都非常相似,但是subversion是“eclipse svn提供者”。我主要使用subversion是因为它有几个方便的特性:

历史分组

当我浏览一个分支的历史记录,而不仅仅是看到每个提交的一堆行时,它可以根据今天、星期等对提交进行分组。

中继、分支和标签的映射

subversion假定默认的svn布局:trunk、分支、标签(您可以更改),因此每当您想要标记或分支时,只需单击一下,并提供标记或分支的名称。

就像我说的,这些都是我觉得方便的小区别。这两个扩展都可以很好地与mylyn一起工作,但总的来说,这两个扩展确实没有太多区别。

与subversion合并是一种痛苦(还没有尝试Subclipse),我从来没有成功合并过。合并的预览是伟大的,但它永远不会完成合并,或者它将花费很长时间。大多数时候,我通过命令行完成合并,没有任何问题。

我还没有真正使用过它,但它似乎支持“检出As”,就像内置CVS支持一样。

比如,从SVN中获取一个项目,并能够将其作为一个web项目运行,人们可能能够一气呵成。但是为了在Subclipse中得到相同的结果,我只需要检查源代码并运行:

mvn eclipse:eclipse -Dwtpversion=2.0

其实我觉得这两个都很烂。在我看来,使用TortoiseSVN是一个更好的解决方案。它要健壮得多,而且往往工作得更好,而且我总是在与Subclipse和subversion的集成方面遇到问题。

这两种我都用过,虽然Subclipse对我来说很不可靠,但subversion(至少在以前的版本中)在我的同事不小心输入了错误的凭据(网络登录用于访问subversion存储库)时锁定了他的帐户。

随着时间的推移,Subclipse往往变得杂乱无章。如果不定期刷新Eclipse, Subclipse似乎会丢失其文件跟踪信息。老实说,虽然,因为我有Easy Explorer插件,我使用subversion(偶尔)来记录历史和更改信息,但我很容易探索和使用TortoiseSVN来提交和更新我知道我最近更改的项目。

我选择使用Subclipse,因为它与Subversion项目联系最紧密,因此更有可能更好地处理SVN的核心功能。如果它不能执行任何功能,那么我有TortoiseSVN作为备份。