Eclipse中的SVN分为两个阵营。SVN的人开发了一个名为Subclipse的插件。Eclipse开发人员有一个名为subversion的插件。广义上讲,他们做的事情是一样的。它们各自的优点和缺点是什么?
当前回答
作为布兰登回答的补充:
我们从1.5.1版本开始使用Subversion,并首先使用Subclipse。但是因为我们很大程度上依赖于合并功能,我们切换到subversion,它更方便,并且在合并对话框中有一个单独的reintegration选项。
一个可能阻碍合并的错误是,如果您显式地选择修订,它不会接受列出的最后一个修订。如。“101-100”不合并r100和“100”,因此根本不合并任何东西。(0.7.5版)
并且它使用了与CVS插件相同的指示器。
其他回答
当然,这两个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任务中利用了它)。
我们在团队中尝试了这两种方法。
由于Subclipse(来自Galileo/Helios的)通过VAS验证我们的SVN服务器有一些问题,我们在其他地方没有问题,即TortoiseSVN客户端,浏览器(Internet Explorer 7除外)。
所以我们安装了subversion,问题就解决了。
这两种我都用过,虽然Subclipse对我来说很不可靠,但subversion(至少在以前的版本中)在我的同事不小心输入了错误的凭据(网络登录用于访问subversion存储库)时锁定了他的帐户。
随着时间的推移,Subclipse往往变得杂乱无章。如果不定期刷新Eclipse, Subclipse似乎会丢失其文件跟踪信息。老实说,虽然,因为我有Easy Explorer插件,我使用subversion(偶尔)来记录历史和更改信息,但我很容易探索和使用TortoiseSVN来提交和更新我知道我最近更改的项目。
我会试着回答这个问题。我是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发行版。
FWIW,我们使用的是一个旧版本的SVN服务器(1.4左右),我似乎记得有一次Subclipse的更新打破了向后兼容性,要点是“没有人应该使用这么旧版本的SVN”。
颠覆是唯一一个似乎能够处理旧版本。但我不记得细节了,抱歉。
推荐文章
- Android Eclipse -无法找到*.apk
- 通过SSH使用Eclipse完成远程项目
- javac和Eclipse编译器之间的区别是什么?
- 如何删除SVN工作目录中的所有更改?
- 提交前将文件“unadd”到SVN
- 如何在清洁模式下运行eclipse ?如果我们这样做会发生什么?
- 如何在Eclipse中更改动态web项目的上下文根?
- Eclipse错误:间接引用所需的.class文件?
- 如何在Eclipse中只使用键盘去一个错误?
- 如何在Eclipse中生成Javadoc注释?
- 如何在EPF Composer 1.5中删除一个规程?
- Eclipse调试器总是阻塞在ThreadPoolExecutor上,没有任何明显的异常,为什么?
- 如何查看最近的SVN日志条目?
- 如何丢弃SVN签出中的本地更改?
- 是什么原因导致Eclipse中导入的Maven项目默认使用Java 1.5而不是Java 1.6,我如何确保它不使用?