public void execute(final AnActionEvent e) {
      final DataContext dataContext = e.getDataContext();
      myProject = CommonDataKeys.PROJECT.getData(dataContext);
      if (myProject == null || myProject.isDefault()) {
        // remain false
        return;
      }
      final VirtualFile baseDir = myProject.getBaseDir();
      if (baseDir == null) return;

      final ProjectLevelVcsManager vcsManager = ProjectLevelVcsManager.getInstance(myProject);
      final MyCheckResult result = checkMappings(baseDir, vcsManager);

      if (MyCheckResult.disable.equals(result)) return;

      myHadNoMappings = MyCheckResult.notMapped.equals(result);
      if (MyCheckResult.notMapped.equals(result)) {
        // no change list manager working
        if (SvnUtil.seemsLikeVersionedDir(baseDir)) return;
      }
      else if (SvnStatusUtil.isUnderControl(myProject, baseDir)) {
        return;
      }

      if ((!myHadNoMappings) && (!SvnVcs.getInstance(myProject).getSvnFileUrlMapping().isEmpty())) {
        // there are some versioned dirs under project dir
        return;
      }

      // visible: already checked above
      myVisible = true;
      myEnabled = (!vcsManager.isBackgroundVcsOperationRunning());
    }
public void execute(final AnActionEvent e)