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


当前回答

作为布兰登回答的补充:

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

一个可能阻碍合并的错误是,如果您显式地选择修订,它不会接受列出的最后一个修订。如。“101-100”不合并r100和“100”,因此根本不合并任何东西。(0.7.5版)

并且它使用了与CVS插件相同的指示器。

其他回答

读完这篇文章后,我轻而易举地换成了Subclipse。 http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407

这两款我都试过了,Subclipse和Subversive都很糟糕。两者的安装都具有挑战性。如果使用subversion,则不能使用SVN外部客户端。

但是,您需要在Eclipse中安装一个SVN客户端,以跟踪更改,并且避免损坏本地存储库。

我已经安装了Subclipse,但使用TortoiseSVN实际做提交/标记/分支/合并。

对于Eclipse的每个新版本,我都会安装subversion,因为它是Eclipse提供的标准。每次,它都无法识别我之前的项目。

所以我最终卸载了subversion,并安装了Subclipse,它工作得非常出色。我还经常从命令行和Eclipse中使用SVN, Subclipse在这方面没有问题。

当然,这两个IDE插件都有它们的问题。但两者都不排除并行使用其他解决方案,如TortoiseSVN或命令行。我在工作中使用这三种方法。

需要记住的重要一点是,所有客户端SVN软件都应该使用相同的SVN文件格式(不同版本的SVN不同),否则就会自找麻烦。

我们发现的另一个问题是当客户端软件使用与服务器不同的SVN文件格式时。(所谓文件格式,我指的是所有信息在所有那些看似不可见的. SVN文件中表示的方式,这些文件有效地记录了SVN需要知道的关于您的项目文件的信息。)这会造成严重破坏。在1.5服务器和1.6客户端之间有一个有记录的错误,但我现在找不到链接。

由于与我们的SVN 1.5.5服务器不兼容,我们在运行高级(IMO) Subclipse 1.6插件时遇到了问题。所以我们回到了《颠覆者》。它工作得很好,尽管速度较慢并且有些bug(但正在改进)。不过,当我们的服务器更新时,我们将切换到Subclipse。是的,我们用TortoiseSVN检查我们的项目,并将它们导入Eclipse(这样更快)。

我们发现,正如其他帖子所说,如果我们运行更新版本的TortoiseSVN,在1.6中编写文件,它将不起作用。x格式,但当我们恢复到TortoiseSVN 1.5。X,它工作得很好。命令行客户端也是如此(我们在Ant任务中利用了它)。

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

历史分组

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

中继、分支和标签的映射

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

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

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