diff options
author | Mathias Kinzler | 2010-08-31 13:37:17 +0000 |
---|---|---|
committer | Chris Aniszczyk | 2010-08-31 16:30:14 +0000 |
commit | 85597d526874d982748a106b75181016e26d2aaa (patch) | |
tree | d36272987526da3e21fa159eaf9559bfbec5eb85 | |
parent | 75a371e156977f26f72a620880584e6332db0f42 (diff) | |
download | egit-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.java | 20 | ||||
-rw-r--r-- | org.eclipse.egit.ui/plugin.xml | 30 |
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> |