2013-04-10 4 views
1

Я использую библиотеку SharpSvn. Я хочу проверить, совпадают ли файлы, которые у меня есть, с серверами subversion. Кто-нибудь знает, как я это делаю? В настоящее время это то, что я пытаюсь сделать, но это говорит «Не удается подключиться к хранилищу в URL»Как проверить, совпадают ли файлы на svn с локальными файлами C# (sharpsvn)

public bool IsDirectoryTheSame(string folderpath) 
    { 
     var IsSameDirectory = false; 
     var installfolderlocal = GetInstallationFolder(folderpath); 
     using (SvnClient svnClient = new SvnClient()) 
     { 
      SvnUriTarget target1 = 
       new SvnUriTarget(
        new Uri(string.Format("{0}{1}", svnclientpath, folderpath))); 
      SvnUriTarget target2 = 
       new SvnUriTarget(
        new Uri(installfolderlocal)); 

      using(var stream = new MemoryStream()) 
      { 
      IsSameDirectory = svnClient.Diff(target1,target2,stream); 
      } 
     } 
     return IsSameDirectory; 
    } 
+0

Вы можете сравнить контрольные суммы. – Botonomous

ответ

1

Я предполагаю, что из вашего вопроса, что локальные файлы контроля версий, в этом случае вы можете использовать GetInfo(), чтобы получить последний номер версии для файла в репозитории и сравнить его с последним номером версии для вашего локального файла.

Another suggestion будет использовать GetUriFromWorkingCopy(). Я лично сам не проверял его, но это стоит того.

Во всяком случае, вы должны использовать отличное, как последнее средство, поскольку это может быть дорогостоящий вызов. Если файл не контролируется версией, это может быть ваш единственный выстрел.

+0

Выполнение файла, чтобы проверить, если оно было изменено, на самом деле не является полезным решением. – metalhead

+0

Да, я удалил эту половину ответа, потому что, как вы сказали, пользователи не хотят совершать само изменение. – watkinsmatthewp

+0

Спасибо, что помогли – Trustos

 Смежные вопросы

  • Нет связанных вопросов^_^