【发布时间】:2011-01-05 13:01:25
【问题描述】:
我已经使用分支很长一段时间了,但我总是使用命令行工具来进行实际的合并。但是,现在我只需要从 Eclipse 中执行此操作。多年来,分支和合并是 SCM 系统中广泛使用的功能,我希望 Eclipse 能够很好地支持它,但事实似乎并非如此。
目前,我正在开发一种产品,该产品由需要一起分支的多个项目组成。当合并从主干到分支的更改时,通常我会从分支结帐的根目录执行以下操作:(我在这里使用 Subversion 作为示例,但问题也应该适用于其他 SCM 工具。)
svn update
svn merge ^/trunk
svn commit -m "Merged from trunk"
也许在中间解决一些冲突,但这就是我所要做的。但是在 Eclipse 中我只能在项目级别进行合并,有以下缺点:
- 我无法合并根文件夹的内容,只能合并单个项目的内容。顺便说一句,更新也是如此。
- 如果在主干上修改了项目结构(例如,添加了新项目),则这些更改根本不会合并。再次更新。
- 合并不是原子的。如果在合并期间在主干上发生提交,我的工作副本中的事情可能会变得一团糟。 (这可以解决,但不方便。)
这些限制看起来很简单,因为 Eclipse 不知道根文件夹,因为它会从 SVN 签出单个项目。
我的问题是:我是否遗漏了什么,或者真的不可能以类似于我从命令行执行的方式使用 Eclipse?如果这确实是不可能的,那么其他人如何应对呢?每个人都使用命令行或 TortoiseSVN 等外部工具吗?
【问题讨论】:
-
你在 Eclipse 中使用的是哪个 SVN 插件?
-
我目前正在使用带有 SVNKit 1.3 的 Subversive,但我认为这些问题与插件或 SVN 本身无关。或者是否有更好的支持,比如 Mercurial 或 CVS?