Dav*_*ton 5 java eclipse version-control mercurial dvcs
我正在玩Mercurial以确定它是否适合在我们公司使用.其中一个重要的卖点是合并能力.所以我一直在玩创建分支并将它们合并回默认行.测试只涉及在一个分支中向单个Java文件添加新方法(methodA),并在另一个分支中的同一文件中的完全不同的位置添加不同的方法(methodB).
当我使用team-第一次尝试它在Eclipse>合并选项,我发现第一次合并工作的罚款(即它加入方法A).当我尝试合并第二个分支时,它告诉我必须解决冲突.这是非常不幸的,因为我认为这种简单的合并恰好是Mercurial应该轻松处理的事情?
我使用命令行尝试完全相同的测试,这次它工作正常,即两个合并都成功,无需解决冲突.查看eclipse中的控制台输出,它使用以下命令执行合并:
hg -y merge --config ui.merge=internal:fail -r 611ca2784593525cdafd3082b17d3310037a5d58 -f
Run Code Online (Sandbox Code Playgroud)
而当我从命令行自己运行它时,我只是这样做:
hg merge -r 1234
Run Code Online (Sandbox Code Playgroud)
使用合并策略'internal:fail'会导致这种情况发生在Eclipse中吗?如果是这样,是否可以更改默认行为,使其工作方式与命令行相同?
该internal:fail告诉水银不要尝试在所有合并任何东西.有关详细信息,请参阅mercurial wiki.
似乎曾经为mercurial编写Eclipse插件的人认为他们可以更好地控制eclipse中的合并,因为Mercurial会自动无法合并所有内容然后在Eclipse中进行合并,并且可能会调用hg resolve --mark ...文件被合并.
从Mercurial命令行,您将获得premerge处理普通合并的行为,然后如果仍然存在冲突,则从MergeToolConfiguration调用工具,该工具具有该文件类型的最高优先级,并且在本地系统上可用.
| 归档时间: |
|
| 查看次数: |
2942 次 |
| 最近记录: |