import com.intellij.openapi.command.CommandListener;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.project.Project;
+import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.vcs.ProjectLevelVcsManager;
import com.intellij.openapi.vcs.VcsDirectoryMapping;
* The vcs instance
*/
private final GitVcs myVcs;
+ /**
+ * If true, the tracking is enabled.
+ */
+ private final AtomicBoolean myIsEnabled = new AtomicBoolean(false);
/**
* If true, the root configuration has been possibly invalidated
*/
}
};
fileManager.addVirtualFileManagerListener(myVirtualFileManagerListener);
- checkRoots(true);
+ StartupManager.getInstance(myProject).runWhenProjectIsInitialized(new Runnable() {
+ public void run() {
+ myIsEnabled.set(true);
+ checkRoots(true);
+ }
+ });
}
/**
* @param rootsChanged
*/
private void checkRoots(boolean rootsChanged) {
- if (!rootsChanged && !myHasGitRoots.get()) {
+ if (!myIsEnabled.get() || (!rootsChanged && !myHasGitRoots.get())) {
return;
}
ApplicationManager.getApplication().runReadAction(new Runnable() {