我已经在分支机构工作了很长一段时间,但我总是使用命令行工具来进行实际的合并。但是,现在我只需要从Eclipse中完成它。分支和合并是SCM系统多年来广泛使用的特性,我预计Eclipse会有很好的支持,但它似乎并非如此。
目前我正在开发一个由几个需要分支在一起的项目构建的产品。将更改从trunk更改为分支时,通常我会从分支checkout的根目录执行以下命令:(我在这里使用Subversion作为示例,但问题也应该适用于其他SCM工具。)
svn update
svn merge ^/trunk
svn commit -m "Merged from trunk"
也许在中间解决一些冲突,但这就是我要做的一切。但是,在Eclipse中,我只能在项目级别进行合并,这具有以下缺点:
这些限制似乎非常简单,因为Eclipse不知道根文件夹,因为它从SVN中检出单个项目。
我的问题是:我错过了什么,或者是否真的不可能以类似于我在命令行中执行的方式使用Eclipse?如果确实不可能,那么其他人如何应对呢?每个人都使用命令行或TortoiseSVN等外部工具吗?
答案 0 :(得分:3)
你的观察是正确的。 Eclipse仅在项目级别管理svn等“团队”操作。所以,你没有遗漏任何东西; - )
是的,您必须使用外部工具来合并整个分支。乌龟做得很好。
答案 1 :(得分:3)
可以使用Eclipse插件 CollabNet Subversion Merge Client 完成多项目合并。您可以在 com.collabnet.subversion.merge 找到它。
在首选项中启用它:
Eclipse Preferences > Team > SVN > Diff/Merge
并且:Merge Implementation: CollabNet Desktop
答案 2 :(得分:0)
你提到的确实是一个限制。我通常检查整个文件夹结构,然后将各个项目导入eclipse。当我需要在整个存储库上执行操作时,我使用命令行或Tortoise SVN在eclipse之外进行操作。
当有人添加新插件(我正在开发Eclipse RCP应用程序)时,我也需要手动将其添加到项目列表中,因为Eclipse不知道所有项目的根目录,这也很痛苦。
答案 3 :(得分:0)
在Eclipse中,SVN分支和合并适用于单个项目,在处理已经分支并需要合并的单个项目时,我没有遇到任何问题。
但是,如果需要在一个单元中处理多个项目,那么这似乎不可能直接在eclipse中处理,每个项目都需要单独处理。