Как программно получить описание ревизии SVN и автора в c #? - PullRequest
11 голосов
/ 25 марта 2009

Как программно получить описание и автора ревизии с сервера SVN в c #?

Ответы [ 3 ]

17 голосов
/ 25 марта 2009

Использование SharpSvn :

using(SvnClient client = new SvnClient())
{
    Collection<SvnLogEventArgs> list;

    // When not using cached credentials
    // c.Authentication.DefaultCredentials = new NetworkCredential("user", "pass")l

    SvnLogArgs la = new SvnLogArgs { Start = 128, End = 132 };
    client.GetLog(new Uri("http://my/repository"), la, out list);

    foreach(SvnLogEventArgs a in list)
    {
       Console.WriteLine("=== r{0} : {1} ====", a.Revision, a.Author);
       Console.WriteLine(a.LogMessage);
    }
}
5 голосов
/ 25 марта 2009

Вам нужно будет найти C # SVN API для использования. Быстрый поиск Google нашел SharpSVN .

Чтобы получить сообщение и автора для конкретной ревизии

SvnClient client = new SvnClient();
SvnUriTarget uri = new SvnUriTarget("url", REV_NUM);

string message, author;
client.GetRevisionProperty(uri, "svn:log", out message);
client.GetRevisionProperty(uri, "svn:author", out author);
3 голосов
/ 25 марта 2009

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

Я использовал SubversionNotify , чтобы сделать это. Вы можете взглянуть на код и посмотреть, что вы можете использовать.

Я верю, что SubversionNotify получает выходные данные из svnlook. У Svnlook довольно много аргументов, которые могут получить то, что вы ищете.

Если вы знаете номер ревизии и хранилище:

svnlook info -r [rev#] /path/to/repo

Получит информацию о пользователе, отметке времени, длине сообщения журнала и самом сообщении журнала:

bob
2009-03-25 11:10:49 -0600 (Wed, 25 Mar 2009)
19
Did stuff with things.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...