diff options
author | Matthias Sohn | 2015-03-29 20:56:35 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2015-03-29 20:56:37 +0000 |
commit | 08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce (patch) | |
tree | 82b23d2e4c9b014903da756bd225350784ba183a /org.eclipse.egit.ui | |
parent | 3765c513838ac9cc9955bec6887bb965262e98e2 (diff) | |
parent | a3da1956ed60fe4ae391ca9074c3238b9b1062ff (diff) | |
download | egit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.tar.gz egit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.tar.xz egit-08ed70b385cd3665d6b81ba5bf2f22c1d7f0fdce.zip |
Merge "Avoid TeamException when looking up RepositoryProvider"
Diffstat (limited to 'org.eclipse.egit.ui')
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; } |