Как я могу отключить репозиторий SVN, используя SharpsVN
Вопрос
Мой вопрос довольно прост и с API SHARPSVN, он также должен быть легким. Вот что я сделал:
path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
SvnLookOrigin o = new SvnLookOrigin(path);
Collection<SvnChangedEventArgs> changeList;
client.GetChanged(o, out changeList); // <-- Exception
}
И когда я называю Thichanged, я получаю исключение:
Не удается открыть файл «C: Project Format»: система не может найти указанный файл.
Итак, может, есть что-то, что мне не хватает? Или, может быть, это не правильный путь, чтобы узнать список файлов и папок, которые были изменены в местном репозитории?
Заранее спасибо.
Решение
Класс SvnlookClient в SharpsVN является эквивалентным приложению консоли «Svnlook». Это инструмент низкого уровня, который позволяет репозиторированным крючкам смотреть в конкретные транзакции репозитория с использованием прямого доступа к файлу.
Вы, вероятно, хотите использовать класс SVNClient, чтобы посмотреть на рабочую или, скорее всего, его статус () или в некоторых случаях проще говоря GetStatus (), чтобы увидеть, что изменилось.
Другие советы
Путь того, что конструктор Svnlookorigin хочет на самом деле:
path = "c:\project\.svn\";
То есть он хочет, чтобы этот каталог «.svn» не только корня того, где проверяется источник.
Несмотря на то что Вы, вероятно, хотите слушать Берт и сделать что-то вроде:
path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
SvnLookOrigin o = new SvnLookOrigin(path);
Collection<SvnChangedEventArgs> changeList;
client.GetStatus(o, out changeList); // Should now return the differences between this working copy and the remote status.
}