проблема с фиксацией sharpsvn «Не удается подключиться к репозиторию по URL ‘file /// C:/ Testing/ repo'»

#c# #svn #tortoisesvn #sharpsvn

#c# #svn #tortoisesvn #sharpsvn

Вопрос:

Я создал локальный репозиторий на своем компьютере. Затем я выполнил проверку svn для доступа к этому репозиторию, и я могу добавлять и фиксировать файлы с помощью tortoisesvn.
Репозиторий — это ‘file /// C:/ Testing/ repo’
и локальная проверка «C:Testingsvnrepo «
Я попытался добавить и зафиксировать некоторые изменения в файле с помощью sharpsvn. Я получаю исключения:

 Unable to connect to a repository at URL 'file///C:/Testing/repo'
 

но когда я открываю tortoisesvn, я могу получить доступ к этому репозиторию.
Мой код:

Функция добавления работает, я получаю только сообщение об ошибке при фиксации.

 .
.
.
foreach ( string path in files )
                    {
                        Add(path);
                    }
                    Commit(commitPath, key);
.
.
.
 
 public bool Commit(string path, string message)
        {
            using ( SvnClient client = new SvnClient() )
            {
                SvnCommitArgs args = new SvnCommitArgs
                {
                    LogMessage = message,
                    ThrowOnError = true,
                    ThrowOnCancel = true
                };

                try
                {
                    return client.Commit(path, args); # <--- Exception
                }
                catch ( Exception e )
                {
                    if ( e.InnerException != null )
                    {
                        throw new Exception(e.InnerException.Message, e);
                    }

                    throw e;
                }
            }
        }
 

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

Ответ №1:

Скорее всего, ваш TortoiseSVN создал более новый формат репозитория, чем SharpSvn может прочитать. Из-за нехватки рабочей силы SharpSvn в настоящее время немного отстает.

Обходные пути:

  • Используйте локальный SVN-сервер (SvnServe можно легко настроить)
  • Создайте репозиторий в более старом формате, совместимом с SharpSvn (возможно, вам потребуется использовать svn.exe инструмент командной строки, я не уверен, предоставляет ли Tortoise пользовательский интерфейс для выбора более старых версий формата репозитория).