Сравните локальные данные с SVN - PullRequest
0 голосов
/ 11 июля 2019

Я сейчас программирую Java на Eclipse с помощью плагина SVN. Я несколько раз пытался написать код, который должен сравнивать мои локальные данные (некоторые комплекты) с комплектами сервера SVN. Может кто-нибудь помочь мне с этой проблемой? Мне нужна обратная связь как можно скорее. Заранее спасибо.

Мне сказали использовать класс ISVNClientAdapter, но я не нашел методов, которые можно было бы использовать для сравнения локальных данных с сервером SVN. Я уже использовал методы getInfo и getStatus, но они не работали.

Вот похожий код, который я нашел в программе, в которой я программирую: методы .getInfo и .getSatus получили много перегрузок.

public File checkout(IProject project, String path)

  {

    try

    {

      RepositoryProvider repo = RepositoryProvider.getProvider(project);

      repo.setProject(project);

      ISVNClientAdapter client = ((SVNTeamProvider)repo).getSVNWorkspaceRoot().getRepository().getSVNClient();

      File directory = ((BaseFolder)repo.getSubscriber().getSyncInfo(project).getBase()).getFile();

      SVNRevision revision = RevisionHandler.getInstance().getRevision(getMachineVersion(),project.getName(),
          client.getInfo(directory).getUrl().toString(), null);

      if (revision != null)


      {

        File dest = new File(path + File.separatorChar project.getName());


        if (dest.exists())

          GeneralActions.deleteDir(dest);

        client.checkout(client.getInfo(directory).getUrl(), dest,revision, true);

        return dest;

      }

      return null;

    }


    catch (TeamException | ParseException | SVNClientException e)

    {

      Activator.log(Status.ERROR, null, e);

    }

    return null;
}
...