如何以编程方式在c#中获取SVN修订版描述和作者?

时间:2009-03-25 14:13:42

标签: c# svn

如何以编程方式从c#中获取SVN服务器的修订说明和作者?

3 个答案:

答案 0 :(得分:17)

使用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);
    }
}

答案 1 :(得分:5)

您需要找到要使用的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);

答案 2 :(得分:3)

我曾经做过类似的事情,我们需要通知某些存储库提交。

我最终使用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.