summaryrefslogtreecommitdiff
path: root/platform/dvcs/src/com/intellij/dvcs/repo
diff options
context:
space:
mode:
Diffstat (limited to 'platform/dvcs/src/com/intellij/dvcs/repo')
-rw-r--r--platform/dvcs/src/com/intellij/dvcs/repo/Repository.java3
-rw-r--r--platform/dvcs/src/com/intellij/dvcs/repo/RepositoryImpl.java3
-rw-r--r--platform/dvcs/src/com/intellij/dvcs/repo/RepositoryUtil.java10
3 files changed, 11 insertions, 5 deletions
diff --git a/platform/dvcs/src/com/intellij/dvcs/repo/Repository.java b/platform/dvcs/src/com/intellij/dvcs/repo/Repository.java
index 3650b99ce200..c12cf4ff0407 100644
--- a/platform/dvcs/src/com/intellij/dvcs/repo/Repository.java
+++ b/platform/dvcs/src/com/intellij/dvcs/repo/Repository.java
@@ -15,6 +15,7 @@
*/
package com.intellij.dvcs.repo;
+import com.intellij.openapi.Disposable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
@@ -49,7 +50,7 @@ import org.jetbrains.annotations.Nullable;
*
* @author Nadya Zabrodina
*/
-public interface Repository {
+public interface Repository extends Disposable {
/**
diff --git a/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryImpl.java b/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryImpl.java
index a7de8f97cb8a..5a605c566710 100644
--- a/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryImpl.java
+++ b/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryImpl.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
/**
* @author Nadya Zabrodina
*/
-public abstract class RepositoryImpl implements Repository, Disposable {
+public abstract class RepositoryImpl implements Repository {
@NotNull private final Project myProject;
@NotNull private final VirtualFile myRootDir;
@@ -82,7 +82,6 @@ public abstract class RepositoryImpl implements Repository, Disposable {
public void dispose() {
}
-
@Override
public boolean equals(Object o) {
if (this == o) return true;
diff --git a/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryUtil.java b/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryUtil.java
index fa2e9a8bebe8..5a5a555768ba 100644
--- a/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryUtil.java
+++ b/platform/dvcs/src/com/intellij/dvcs/repo/RepositoryUtil.java
@@ -17,6 +17,7 @@ package com.intellij.dvcs.repo;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Condition;
+import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtil;
@@ -29,7 +30,10 @@ import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.io.IOException;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
import java.util.concurrent.Callable;
/**
@@ -117,7 +121,9 @@ public class RepositoryUtil {
@Override
public void consume(Object dummy) {
- myRepository.update();
+ if (!Disposer.isDisposed(myRepository)) {
+ myRepository.update();
+ }
}
}