Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Eclipse中合并大型项目?_Java_Eclipse_Svn_Merge - Fatal编程技术网

Java 如何在Eclipse中合并大型项目?

Java 如何在Eclipse中合并大型项目?,java,eclipse,svn,merge,Java,Eclipse,Svn,Merge,我使用分支已经有一段时间了,但我总是使用命令行工具来进行实际的合并。但是,现在我只需要从Eclipse中执行它。分支和合并是SCM系统的一个广泛使用的特性,多年来,我一直希望Eclipse能够对其提供良好的支持,但事实似乎并非如此 目前我正在开发一个产品,它由几个需要分支的项目组成。当将更改从主干合并到分支时,通常我会从分支的根签出执行以下操作:(我在这里使用Subversion作为示例,但问题也应适用于其他SCM工具。) 也许在中间可以解决一些冲突,但这就是我必须要做的。但是,在Eclipse

我使用分支已经有一段时间了,但我总是使用命令行工具来进行实际的合并。但是,现在我只需要从Eclipse中执行它。分支和合并是SCM系统的一个广泛使用的特性,多年来,我一直希望Eclipse能够对其提供良好的支持,但事实似乎并非如此

目前我正在开发一个产品,它由几个需要分支的项目组成。当将更改从主干合并到分支时,通常我会从分支的根签出执行以下操作:(我在这里使用Subversion作为示例,但问题也应适用于其他SCM工具。)

也许在中间可以解决一些冲突,但这就是我必须要做的。但是,在Eclipse中,我只能在项目级别进行合并,这有以下缺点:

  • 我无法合并根文件夹的内容,只能合并单个项目的内容。顺便说一句,更新也是如此
  • 如果在主干上修改了项目结构(例如,添加了新项目),则这些更改根本不会合并。更新也一样
  • 合并不是原子的。如果在合并期间在主干上发生提交,我的工作副本中可能会出现混乱。(这可以解决,但不方便。)
这些限制似乎非常简单,因为Eclipse不知道根文件夹,因为它从SVN检查单个项目


我的问题是:我是否遗漏了什么,或者是否真的不可能以类似于从命令行执行的方式使用Eclipse?如果确实不可能,那么其他人如何应对?是否每个人都使用命令行或OrtoiseSVN等外部工具?

您提到的确实是一个限制。我通常签出整个文件夹结构,然后将各个项目导入eclipse。当我需要在整个存储库上执行操作时,我可以在eclipse外部使用命令行或Tortoise SVN来执行


同样令人痛苦的是,当有人添加新插件(我正在开发Eclipse RCP应用程序)时,我需要手动将其添加到项目列表中,因为Eclipse不知道所有项目的根。

您的观察是正确的。Eclipse只在项目级别管理“团队”操作,如svn。所以,您没有遗漏任何内容;-)


是的,您必须使用外部工具来合并整个分支。在Eclipse中,SVN分支和合并可以很好地用于单个项目,在处理已分支且需要合并的单个项目时,我没有遇到任何问题


但是,如果多个项目需要在单个单元中处理,那么在eclipse中直接处理似乎是不可能的,每个项目都需要单独处理。

多项目合并可以通过eclipse插件CollabNet Subversion合并客户端来完成。您可以在com.collabnet.subversion.merge上找到它

在首选项中启用它:

Eclipse Preferences > Team > SVN > Diff/Merge 

还有:
合并实现:CollabNet Desktop

您在Eclipse中使用的是哪个SVN插件?我目前正在SVNKit 1.3中使用Subversive,但我认为这些问题与插件或SVN本身无关。或者说Mercurial或者CVS有更好的支持吗?
Eclipse Preferences > Team > SVN > Diff/Merge