Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Kinzler2010-08-31 13:37:17 +0000
committerChris Aniszczyk2010-08-31 16:30:14 +0000
commit85597d526874d982748a106b75181016e26d2aaa (patch)
treed36272987526da3e21fa159eaf9559bfbec5eb85
parent75a371e156977f26f72a620880584e6332db0f42 (diff)
downloadegit-85597d526874d982748a106b75181016e26d2aaa.tar.gz
egit-85597d526874d982748a106b75181016e26d2aaa.tar.xz
egit-85597d526874d982748a106b75181016e26d2aaa.zip
Git Repositories View: fix "Merge..." context menu
This does in fact make sense if it works: the same dialog as in Team > Merge (on a project) should be displayed. Unfortunately, this was broken due to improper handler registration. Bug: 323979 Change-Id: Ib53a81a2ffed743ab74ff6f115c9e5cf392bbe3a Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
-rw-r--r--org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewBranchHandlingTest.java20
-rw-r--r--org.eclipse.egit.ui/plugin.xml30
2 files changed, 49 insertions, 1 deletions
diff --git a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewBranchHandlingTest.java b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewBranchHandlingTest.java
index e1ce3a22ff..65783662f1 100644
--- a/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewBranchHandlingTest.java
+++ b/org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/view/repositories/GitRepositoriesViewBranchHandlingTest.java
@@ -308,4 +308,24 @@ public class GitRepositoriesViewBranchHandlingTest extends
.expand();
assertEquals("newmaster", item.getNode(0).getText());
}
+
+ @Test
+ public void testMergeOnRepo() throws Exception {
+ Activator.getDefault().getRepositoryUtil().addConfiguredRepository(
+ clonedRepositoryFile);
+
+ SWTBotTree tree = getOrOpenView().bot().tree();
+
+ myRepoViewUtil.getRootItem(tree, clonedRepositoryFile).select();
+
+ ContextMenuHelper.clickContextMenu(tree, myUtil
+ .getPluginLocalizedValue("RepoViewMerge.label"));
+
+ String title = NLS.bind(UIText.MergeTargetSelectionDialog_TitleMerge,
+ clonedRepositoryFile.getPath().toString());
+
+ SWTBotShell mergeDialog = bot.shell(title);
+ // TODO do some merge here
+ mergeDialog.close();
+ }
}
diff --git a/org.eclipse.egit.ui/plugin.xml b/org.eclipse.egit.ui/plugin.xml
index 0a9c667487..4dc59eb3bb 100644
--- a/org.eclipse.egit.ui/plugin.xml
+++ b/org.eclipse.egit.ui/plugin.xml
@@ -1492,7 +1492,6 @@
</command>
<command
categoryId="org.eclipse.egit.ui.commandCategory"
- defaultHandler="org.eclipse.egit.ui.internal.repository.tree.command.MergeCommand"
id="org.eclipse.egit.ui.RepositoriesViewMerge"
name="%MergeWithDialogCommand">
</command>
@@ -1932,4 +1931,33 @@
name="%Git">
</category>
</extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.egit.ui.internal.repository.tree.command.MergeCommand"
+ commandId="org.eclipse.egit.ui.RepositoriesViewMerge">
+ <activeWhen>
+ <iterate>
+ <or>
+ <instanceof
+ value="org.eclipse.egit.ui.internal.repository.tree.RepositoryNode">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.egit.ui.internal.repository.tree.RefNode">
+ </instanceof>
+ </or>
+ </iterate></activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.egit.ui.internal.actions.MergeAction"
+ commandId="org.eclipse.egit.ui.RepositoriesViewMerge">
+ <activeWhen>
+ <iterate>
+ <instanceof
+ value="org.eclipse.core.resources.IProject">
+ </instanceof>
+ </iterate>
+ </activeWhen>
+ </handler>
+ </extension>
</plugin>

Back to the top