3

我正在使用 Emf Compare 2 与来自 eclipse 的团队支持集成。我按照此处emf compare faq page 的说明进行操作,但内容类型 ID“org.eclipse.emf.compare.ui.contenttype.ModelContentType”似乎不再有效。我尝试的另一种方法是在我的自定义文件扩展名和 org.eclipse.emf.ecore.xmi 之间添加文件类型关联,以便 emf compare 可以获取我的文件并自动进行差异。这样,emf 模型比较编辑器就会出现,但它说没有区别,即使我很确定我对模型做了一些更改。我应该怎么办?

[编辑] 我检查了 emf compare 模块,结果发现 emf compare 只在“比较”菜单中提供了相互比较的选项。2个文件之间的比较正在工作。所以剩下的问题是如何使选项“比较”>“最新来自存储库”与 emf 比较编辑器一起使用

4

1 回答 1

5

[编辑:这个问题导致在 EMF 比较中发现一个错误,该错误阻止它与 SVN 存储库一起使用。按照计划在 6 月 28 日发布的 Eclipse Kepler (4.3) 版本中进行这项工作。]

(免责声明:我是 EMF Compare 开发团队的一员,他们将解释下面的“我们”和“我们”:p)

您可能已经发现,EMF 比较 wiki 几乎完全过时了:它包含许多仅适用于 EMF 比较 1 的信息,只有少数部分已更新以适用于 EMF 比较 2。这在我们的优先事项列表中,但是在我们可以切换到正确更新 wiki 之前,仍然需要修复一些小问题以稳定这个版本。

[编辑:维基现在已经更新了更准确的信息,虽然缺少部分,但不再有任何过时的部分。]

至于你的假设

emf compare 仅在“比较”菜单中提供相互比较选项

事实上,EMF Compare不会为工作台或其菜单提供任何选项。我们在较低的层次上集成。“比较”菜单中可用的所有项目均由您正在使用的存储库提供者(CVS、Git、Clearcase...插件)或平台本身提供。

然后,如果内容类型匹配,则从平台调用 EMF Compare,无论您是使用compare with > each还是compare with > latest from repository ... 或任何其他都无关紧要。

使用 EMF Compare 2,我们还没有重新添加自定义内容类型,但是您可以使用org.eclipse.emf.ecore.xmi扩展来获得相同的结果,您已经完成了。

与存储库中的 > latest 比较没有显示任何差异意味着我们未能为您的文件检索到正确的“远程”内容。您可以使用显示“EMF 比较”的中心下拉菜单切换回文本比较(从模型比较编辑器):只需在其中选择“文本比较”。在那里,您应该看到文件之间的文本差异:如果没有,那么我们确实未能检索到正确的远程内容(或者您实际上没有本地文件和远程文件之间的差异)。

如果是这种情况,您的错误日志中是否显示任何内容(Window > Show View > Error Log)?你使用什么存储库,CVS?当您完全禁用 EMF 比较时,您的比较实际上是否显示了文件之间的文本差异?

于 2013-01-02T09:15:46.387 回答