乐者为王

Do one thing, and do it well.

在EGit-0.3.1中使用Compare With Git Revision

EGit是一个Eclipse环境下的Git客户端插件,EGit的0.3.1版本已经提供了Compare With Revision功能,只是还没有注册到plugin.xml中。所以要使用该功能的话,必须自己动手在ui包中的plugin.xml中添加一些代码,即下面的action部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<objectContribution
        adaptable="true"
        id="org.spearce.egit.ui.fileFolderContributions"
        objectClass="org.eclipse.core.resources.IResource">
    <filter name="projectPersistentProperty"
        value="org.eclipse.team.core.repository=org.spearce.egit.core.GitProvider">
    </filter>
    <action
        class="org.spearce.egit.ui.internal.actions.CompareWithRevisionAction"
        id="org.spearce.egit.ui.internal.actions.CompareWithRevisionAction"
        label="%CompareWithRevisionAction_label"
        menubarPath="compareWithMenu/compareWithGroup"
        overrideActionId="org.eclipse.team.ui.compareLocalHistory"
        tooltip="%CompareWithRevisionAction_tooltip" />
</objectContribution>

另外,还要将CompareWithRevisionAction.java中run方法里的super.action(action)注释掉,否则会报StackOverflowException。

1
2
public void run(IAction action) {
    // super.action(action);

Comments