Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Sawicki2011-09-08 23:47:42 +0000
committerKevin Sawicki2011-09-08 23:47:42 +0000
commit35ccd97d028625dfab5b6136ec39e7813ecb88fb (patch)
tree1b6bdda54f456efb3daedd25273a099e9ccb6a74 /org.eclipse.mylyn.github.ui
parente4600b7e1a754d40f965428c2b09ede7f49051a5 (diff)
downloadegit-github-35ccd97d028625dfab5b6136ec39e7813ecb88fb.tar.gz
egit-github-35ccd97d028625dfab5b6136ec39e7813ecb88fb.tar.xz
egit-github-35ccd97d028625dfab5b6136ec39e7813ecb88fb.zip
Show dialog when pull request does not resolve to Git repository.
This message prompts the user to add or clone the repository using the Git Repositories view. Change-Id: I69983133baa0f9280276e7ccacb5fc2e0ef3960c Signed-off-by: Kevin Sawicki <kevin@github.com>
Diffstat (limited to 'org.eclipse.mylyn.github.ui')
-rw-r--r--org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/FetchPullRequestHandler.java26
-rw-r--r--org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/Messages.java4
-rw-r--r--org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/messages.properties2
3 files changed, 31 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/FetchPullRequestHandler.java b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/FetchPullRequestHandler.java
index f0a2fca1..948cf705 100644
--- a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/FetchPullRequestHandler.java
+++ b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/FetchPullRequestHandler.java
@@ -25,6 +25,7 @@ import org.eclipse.egit.github.core.PullRequest;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.UIPreferences;
import org.eclipse.egit.ui.internal.fetch.FetchOperationUI;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.transport.RemoteConfig;
import org.eclipse.mylyn.internal.github.core.pr.PullRequestComposite;
@@ -33,6 +34,7 @@ import org.eclipse.mylyn.internal.github.core.pr.PullRequestUtils;
import org.eclipse.mylyn.internal.github.ui.GitHubUi;
import org.eclipse.mylyn.internal.github.ui.TaskDataHandler;
import org.eclipse.mylyn.tasks.core.data.TaskData;
+import org.eclipse.ui.PlatformUI;
/**
* Handler class that fetches changes from a selected pull request
@@ -51,6 +53,26 @@ public class FetchPullRequestHandler extends TaskDataHandler {
}
+ private void showNoRepositoryDialog(PullRequest request) {
+ org.eclipse.egit.github.core.Repository remoteRepo = request.getBase()
+ .getRepo();
+ String id = remoteRepo.getOwner().getLogin() + '/'
+ + remoteRepo.getName();
+ final String message = MessageFormat.format(
+ Messages.FetchPullRequestHandler_MessageRepositoryNotFound, id);
+ PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
+
+ public void run() {
+ MessageDialog
+ .openInformation(
+ PlatformUI.getWorkbench().getDisplay()
+ .getActiveShell(),
+ Messages.FetchPullRequestHandler_TitleRepositoryNotFound,
+ message);
+ }
+ });
+ }
+
public Object execute(final ExecutionEvent event) throws ExecutionException {
final TaskData data = getTaskData(event);
if (data == null)
@@ -67,8 +89,10 @@ public class FetchPullRequestHandler extends TaskDataHandler {
return Status.CANCEL_STATUS;
PullRequest request = prComp.getRequest();
Repository repo = PullRequestUtils.getRepository(request);
- if (repo == null)
+ if (repo == null) {
+ showNoRepositoryDialog(request);
return Status.CANCEL_STATUS;
+ }
RemoteConfig remote = PullRequestUtils.addRemote(repo,
request);
new FetchOperationUI(repo, remote, Activator.getDefault()
diff --git a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/Messages.java b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/Messages.java
index 52b2a664..14a52386 100644
--- a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/Messages.java
+++ b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/Messages.java
@@ -46,6 +46,10 @@ public class Messages extends NLS {
/** */
public static String FetchPullRequestHandler_JobName;
/** */
+ public static String FetchPullRequestHandler_MessageRepositoryNotFound;
+ /** */
+ public static String FetchPullRequestHandler_TitleRepositoryNotFound;
+ /** */
public static String MergePullRequestHandler_MergeJob;
/** */
public static String MergePullRequestHandler_TaskCheckout;
diff --git a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/messages.properties b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/messages.properties
index 7c6c91a9..14d5e0e2 100644
--- a/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/messages.properties
+++ b/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/internal/github/ui/pr/messages.properties
@@ -11,6 +11,8 @@ CommitAttributePart_PartName=Commits
CommitAttributePart_SectionCommits=Commits ({0})
CommitAttributePart_TitleFetch=Fetch commits
FetchPullRequestHandler_JobName=Pulling from pull request {0}
+FetchPullRequestHandler_MessageRepositoryNotFound=The Git repository for ''{0}'' was not found.\n\nPlease add or clone it using the Git Repositories view
+FetchPullRequestHandler_TitleRepositoryNotFound=Git Repository Not Found
MergePullRequestHandler_MergeJob=Merging pull request {0}
MergePullRequestHandler_TaskCheckout=Checking out {0} branch
MergePullRequestHandler_TaskMerge=Merging {0} branch into {1} branch

Back to the top