以编程方式使用eclipse的merge和diff查看器

时间:2009-11-21 08:51:30

标签: eclipse version-control ide merge 3-way-merge

当Bazaar(以及许多其他dvcs)发生文本冲突时,会生成.BASE,.THIS和.OTHER文件。然后由用户使用3路合并工具来合并冲突,然后将其标记为已解决。

我想在eclipse中获取所有已注册的合并查看器,并为用户提供将冲突与其中任何一个合并的选项。 (TextMergeViewer是默认选项)。我怀疑我需要一些如何以编程方式向这些合并查看器提供3个文件,并且可能编写一些自定义代码来包装BASE,THIS和OTHER文件以告诉合并查看器差异在哪里。 (解释像“<<<<<<<等”的“人字形”标记

1 个答案:

答案 0 :(得分:3)

不完全是答案,但至少有一些起点:

您可以尝试使用Plug-in Spy(可直接使用eclipse3.5)查看当前比较查看器的代码

alt text
(来源:eclipse.org

ALT + SHIFT + F1

大多数日食来源也是available here 例如,org.eclipse.compare.CompareUI是一个开始。

一旦您对比较机制如何作为插件有了基本的了解,您就可以编写fragment(也是illustrated here)来扩展当前的比较插件。