Eclipse中的SVN分为两个阵营。SVN的人开发了一个名为Subclipse的插件。Eclipse开发人员有一个名为subversion的插件。广义上讲,他们做的事情是一样的。它们各自的优点和缺点是什么?
当前回答
当然,这两个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任务中利用了它)。
其他回答
对于Eclipse的每个新版本,我都会安装subversion,因为它是Eclipse提供的标准。每次,它都无法识别我之前的项目。
所以我最终卸载了subversion,并安装了Subclipse,它工作得非常出色。我还经常从命令行和Eclipse中使用SVN, Subclipse在这方面没有问题。
我还没有真正使用过它,但它似乎支持“检出As”,就像内置CVS支持一样。
比如,从SVN中获取一个项目,并能够将其作为一个web项目运行,人们可能能够一气呵成。但是为了在Subclipse中得到相同的结果,我只需要检查源代码并运行:
mvn eclipse:eclipse -Dwtpversion=2.0
如果您使用TortoiseSVN并定期更新版本,您可能会发现Eclipse与subversion丢失了所有SVN信息并抛出一些可怕的错误。
原因是新版本的TortoiseSVN添加了新的元数据,Eclipse subversion无法理解这些元数据,除非您也使Eclipse SVN连接器保持最新状态。
我一般使用SVNKit连接器,所以TortoiseSVN 1.5。x将与Eclipse SVNKit连接器1.5兼容。x和TortoiseSVN 1.6。使用Eclipse SVNKit连接器1.6.x。
如果你经常使用Subversion进行合并,那么你可能会更喜欢CollabNet桌面版- Eclipse版。你必须在CollabNet注册一个账户才能下载,但它是免费的。它本质上是Subclipse,具有更好的合并UI。
我没有加入CollabNet。
CollabNet已经将改进后的合并客户端提供给Subclipse的非注册用户。当从更新站点安装Subclipse时,您可以通过选择CollabNet Merge Client特性来获得它。
它们都有非常令人发指的缺陷,但我无法让subversion与我从命令行签出的项目一起工作,这对我来说是一个表演的终结者。
推荐文章
- 访问限制:'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签出中的本地更改?