diff options
Diffstat (limited to 'platform/dvcs/src/com/intellij/dvcs/repo')
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(); + } } } |