Eclipse中的SVN分为两个阵营。SVN的人开发了一个名为Subclipse的插件。Eclipse开发人员有一个名为subversion的插件。广义上讲,他们做的事情是一样的。它们各自的优点和缺点是什么?
当前回答
两者都非常相似,但是subversion是“eclipse svn提供者”。我主要使用subversion是因为它有几个方便的特性:
历史分组
当我浏览一个分支的历史记录,而不仅仅是看到每个提交的一堆行时,它可以根据今天、星期等对提交进行分组。
中继、分支和标签的映射
subversion假定默认的svn布局:trunk、分支、标签(您可以更改),因此每当您想要标记或分支时,只需单击一下,并提供标记或分支的名称。
就像我说的,这些都是我觉得方便的小区别。这两个扩展都可以很好地与mylyn一起工作,但总的来说,这两个扩展确实没有太多区别。
与subversion合并是一种痛苦(还没有尝试Subclipse),我从来没有成功合并过。合并的预览是伟大的,但它永远不会完成合并,或者它将花费很长时间。大多数时候,我通过命令行完成合并,没有任何问题。
其他回答
它们都有非常令人发指的缺陷,但我无法让subversion与我从命令行签出的项目一起工作,这对我来说是一个表演的终结者。
如果您使用svn+ssh作为访问存储库的协议,我强烈建议您选择Subclipse: subversion不够智能,不能正确地记住您的凭据,并且每次更新工作副本时都会提示您输入用户名和私钥,对于您可能已经设置的每个svn-external也是如此。
在这种情况下,“记住凭据”选项被打破了,并且自subversion的第一个公开发布以来一直如此。
作为布兰登回答的补充:
我们从1.5.1版本开始使用Subversion,并首先使用Subclipse。但是因为我们很大程度上依赖于合并功能,我们切换到subversion,它更方便,并且在合并对话框中有一个单独的reintegration选项。
一个可能阻碍合并的错误是,如果您显式地选择修订,它不会接受列出的最后一个修订。如。“101-100”不合并r100和“100”,因此根本不合并任何东西。(0.7.5版)
并且它使用了与CVS插件相同的指示器。
虽然我都是使用Helios工作的,但我对Subclipse有一点偏爱,因为它对bugtraq属性的出色支持(详细信息请参阅这里)。
历史视图显示了一个单独的列(标题为bugtraq:label,显示bugid),上下文菜单有一个专门的动作“打开Bug URL”(链接到bugtraq: URL)——我不知道如何使用subversion访问这些信息。
这两款我都试过了,Subclipse和Subversive都很糟糕。两者的安装都具有挑战性。如果使用subversion,则不能使用SVN外部客户端。
但是,您需要在Eclipse中安装一个SVN客户端,以跟踪更改,并且避免损坏本地存储库。
我已经安装了Subclipse,但使用TortoiseSVN实际做提交/标记/分支/合并。
推荐文章
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 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签出中的本地更改?