@Override
  protected HgCommandResult executeCommandInCurrentThread(VirtualFile repo, List<String> args) {
    String repositoryURL = getRepositoryUrl(repo);
    if (repositoryURL == null) {
      LOG.info("executeCommand no default path configured");
      return null;
    }
    HgRemoteCommandExecutor executor = new HgRemoteCommandExecutor(project, repositoryURL);
    HgCommandResult result = executor.executeInCurrentThread(repo, command, args);
    if (result == HgCommandResult.CANCELLED || HgErrorUtil.isAuthorizationError(result)) {
      final HgVcs vcs = HgVcs.getInstance(project);
      if (vcs == null) {
        return result;
      }
      new HgCommandResultNotifier(project).notifyError(CHANGESETS_ERROR,
                                                       result,
                                                       HgBundle.message("hg4idea.changesets.error"),
                                                       HgBundle.message("hg4idea.changesets.error.msg", repositoryURL),
                                                       new NotificationListener() {
                                                         @Override
                                                         public void hyperlinkUpdate(@NotNull Notification notification,
                                                                                     @NotNull HyperlinkEvent event) {
                                                           ShowSettingsUtil.getInstance()
                                                             .showSettingsDialog(project, HgProjectConfigurable.class);
                                                         }
                                                       });
      final HgProjectSettings projectSettings = vcs.getProjectSettings();
      projectSettings.setCheckIncomingOutgoing(false);
    }
    return result;
  }
@Override
  protected HgCommandResult executeCommandInCurrentThread(VirtualFile repo, List<String> args)