Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Sohn2015-03-29 20:56:35 +0000
committerGerrit Code Review @ Eclipse.org2015-03-29 20:56:37 +0000
commit08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce (patch)
tree82b23d2e4c9b014903da756bd225350784ba183a /org.eclipse.egit.ui
parent3765c513838ac9cc9955bec6887bb965262e98e2 (diff)
parenta3da1956ed60fe4ae391ca9074c3238b9b1062ff (diff)
downloadegit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.tar.gz
egit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.tar.xz
egit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.zip
Merge "Avoid TeamException when looking up RepositoryProvider"
Diffstat (limited to 'org.eclipse.egit.ui')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DisconnectActionHandler.java8
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchProjectTracker.java10
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java6
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java12
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java8
5 files changed, 27 insertions, 17 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DisconnectActionHandler.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DisconnectActionHandler.java
index 02ace0e33f..d6b958fcdc 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DisconnectActionHandler.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/actions/DisconnectActionHandler.java
@@ -35,12 +35,14 @@ public class DisconnectActionHandler extends RepositoryActionHandler {
IProject[] selectedProjects = getProjectsForSelectedResources();
List<IProject> projects = new ArrayList<IProject>(selectedProjects.length);
for (IProject project : selectedProjects) {
- if (project.isOpen()
- && RepositoryProvider.getProvider(project) instanceof GitProvider)
+ if (project.isOpen() && RepositoryProvider.getProvider(project,
+ GitProvider.ID) != null) {
projects.add(project);
+ }
}
- if (projects.isEmpty())
+ if (projects.isEmpty()) {
return null;
+ }
JobUtil.scheduleUserJob(new DisconnectProviderOperation(projects),
UIText.Disconnect_disconnect,
JobFamilies.DISCONNECT, new JobChangeAdapter() {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchProjectTracker.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchProjectTracker.java
index bb54a476e4..9a8ef3a552 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchProjectTracker.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/branch/BranchProjectTracker.java
@@ -131,16 +131,20 @@ class BranchProjectTracker {
final String workDir = repository.getWorkTree().getAbsolutePath();
for (IProject project : projects) {
IPath path = project.getLocation();
- if (path == null)
+ if (path == null) {
continue;
+ }
// Only remember mapped projects
- if (!(RepositoryProvider.getProvider(project) instanceof GitProvider))
+ if (RepositoryProvider.getProvider(project,
+ GitProvider.ID) == null) {
continue;
+ }
String fullPath = path.toOSString();
if (fullPath.startsWith(workDir)) {
String relative = fullPath.substring(workDir.length());
- if (relative.length() == 0)
+ if (relative.length() == 0) {
relative = REPO_ROOT;
+ }
IMemento child = memento.createChild(KEY_PROJECT);
child.putTextData(relative);
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java
index 2d1e873a85..15edea0453 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/decorators/GitDocument.java
@@ -72,13 +72,15 @@ class GitDocument extends Document implements RefsChangedListener {
GitTraceLocation.QUICKDIFF.getLocation(),
"(GitDocument) create: " + resource); //$NON-NLS-1$
GitDocument ret = null;
- if (RepositoryProvider.getProvider(resource.getProject()) instanceof GitProvider) {
+ if (RepositoryProvider.getProvider(resource.getProject(),
+ GitProvider.ID) != null) {
ret = new GitDocument(resource);
ret.populate();
final Repository repository = ret.getRepository();
- if (repository != null)
+ if (repository != null) {
ret.myRefsChangedHandle = repository.getListenerList()
.addRefsChangedListener(ret);
+ }
}
return ret;
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java
index 7c31e8b6e6..a30a19f58f 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java
@@ -36,6 +36,7 @@ import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.egit.core.AdaptableFileTreeIterator;
+import org.eclipse.egit.core.GitProvider;
import org.eclipse.egit.core.internal.util.ResourceUtil;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.UIPreferences;
@@ -1351,12 +1352,13 @@ public class CommitDialog extends TitleAreaDialog {
private void compare(CommitItem commitItem) {
IFile file = findFile(commitItem.path);
- if (file == null
- || RepositoryProvider.getProvider(file.getProject()) == null)
- CompareUtils
- .compareHeadWithWorkingTree(repository, commitItem.path);
- else
+ if (file == null || RepositoryProvider.getProvider(file.getProject(),
+ GitProvider.ID) == null) {
+ CompareUtils.compareHeadWithWorkingTree(repository,
+ commitItem.path);
+ } else {
CompareUtils.compareHeadWithWorkspace(repository, file);
+ }
}
private IFile findFile(String path) {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java
index ba9ab247e8..2bb3685453 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/GitModelSynchronize.java
@@ -33,6 +33,7 @@ import org.eclipse.core.runtime.jobs.IJobChangeEvent;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.core.runtime.jobs.JobChangeAdapter;
import org.eclipse.egit.core.AdapterUtils;
+import org.eclipse.egit.core.GitProvider;
import org.eclipse.egit.core.internal.storage.GitFileRevision;
import org.eclipse.egit.core.internal.util.ResourceUtil;
import org.eclipse.egit.core.synchronize.GitResourceVariantTreeSubscriber;
@@ -59,8 +60,6 @@ import org.eclipse.ui.PlatformUI;
*/
public class GitModelSynchronize {
- private static final String GIT_PROVIDER_ID = "org.eclipse.egit.core.GitProvider"; //$NON-NLS-1$
-
/**
* This can be used to open the synchronize view for the given set of
* resources, comparing the given revisions together.
@@ -228,10 +227,11 @@ public class GitModelSynchronize {
IProject[] projects = element.getProjects();
for (IProject project: projects) {
RepositoryProvider provider = RepositoryProvider
- .getProvider(project);
+ .getProvider(project, GitProvider.ID);
- if (provider != null && provider.getID().equals(GIT_PROVIDER_ID))
+ if (provider != null) {
return true;
+ }
}
return false;
}

Back to the top