Почему SharpSVN SvnClient. Экспорт (…) не всегда нахождение файлов, которые должны быть там?

Я использую Экспорт () функция членства для получения файлов в определенных изменениях, который работает, но по некоторым причинам в других случаях это не. Для всех измененных путей это, кажется, работает однако с удаленными и иногда добавляемыми файлами в том пересмотре, я получаю исключение, заявляя, что нет никакого файла в используемом URL. Когда я использую TurtoiseSVNs "Пересмотр копии...", на этих путях он хорошо работает, и я просто задаюсь вопросом, пропускаю ли я что-то с SharpSVN, я хотел бы полные версии в пересмотре всех измененных файлов. Вот общее представление о моем коде:

if (logentry.ChangedPaths != null)
{
     foreach (SvnChangeItem svnChangeItem in logentry.ChangedPaths)
     {
         SvnExportArgs ex = new SvnExportArgs();
         ex.Revision = revisionNum;
         client.Export(SvnTarget.FromUri(new Uri(pathInsideRepo)), exportFile, ex);
     }
}

Любая справка или предложения ценились бы, спасибо.

6
задан Sam F 23 June 2010 в 18:17
поделиться

2 ответа

Я обнаружил, что использование SvnUriTarget вместо простого uri с SvnExportArgs позволило мне получить правильную информацию. Не совсем уверен, почему они разные, но это работает.

поэтому вместо экспорта, приведенного выше, я использовал:

client.Export(new SvnUriTarget(new Uri(pathInsideRepo), revisionNumber), exportFile, ex);

Ответ, который я нашел, был на текст ссылки

2
ответ дан 17 December 2019 в 07:00
поделиться

Клиент командной строки имеет такое же поведение. Дело в том, что URL-адреса, указывающие на файл, могут появляться и исчезать. Это означает, что URL, указывающий на файл, который сейчас удален, недействителен, если только вы не укажете, что хотите использовать более старый URL. Это называется ревизией привязки.

Читайте о peg-ревизиях в svnbook.

2
ответ дан 17 December 2019 в 07:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: