Как я могу использовать Svn-репозиторий, используя SharpSvn - PullRequest
1 голос
/ 11 апреля 2010

Мой вопрос довольно прост, и с SharpSvn Api он также должен быть легким. Вот что я сделал:

path = "c:\project";
using (SvnLookClient client = new SvnLookClient())
{
    SvnLookOrigin o = new SvnLookOrigin(path);
    Collection<SvnChangedEventArgs> changeList;
    client.GetChanged(o, out changeList); // <-- Exception
}

и когда я вызываю GetChanged, я получаю исключение:

Не удается открыть файл 'c: \ project \ format': система не может найти указанный файл.

Так, может быть, я чего-то упускаю? Или, может быть, это неправильный способ узнать список файлов и папок, которые были изменены в локальном хранилище?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 12 апреля 2010

Класс SvnLookClient в SharpSvn является эквивалентом консольного приложения svnlook. Это низкоуровневый инструмент, позволяющий хукам репозитория просматривать конкретные транзакции репозитория с использованием прямого доступа к файлу.

Возможно, вы хотите использовать класс SvnClient для просмотра WorkingCopy и, скорее всего, его Status () или, в некоторых случаях, более простой функции GetStatus (), чтобы увидеть, что изменилось.

0 голосов
/ 12 апреля 2016

Путь, который хочет конструктор 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.
}
...