Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以编程方式在c#中获取SVN修订说明和作者?_C#_Svn - Fatal编程技术网

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

如何以编程方式在c#中获取SVN修订说明和作者?,c#,svn,C#,Svn,如何以编程方式从c#中的SVN服务器获取修订说明和作者?您需要找到一个c#SVN API来使用。一个快速的谷歌搜索发现 获取特定修订的消息和作者 SvnClient client = new SvnClient(); SvnUriTarget uri = new SvnUriTarget("url", REV_NUM); string message, author; client.GetRevisionProperty(uri, "svn:log", out message); client

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

您需要找到一个c#SVN API来使用。一个快速的谷歌搜索发现

获取特定修订的消息和作者

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);

不久前我做过类似的事情,我们需要某些存储库提交的通知

最后我用它来做这件事。你可以看看那里的代码,看看你能用什么

我相信SubversionNotify正在从svnlook获取输出。Svnlook有很多参数可以满足您的需求

如果您知道修订号和存储库:

svnlook info -r [rev#] /path/to/repo svnlook信息-r[rev#]/path/to/repo 将向您提供用户、时间戳、日志消息长度和日志消息本身:

bob 2009-03-25 11:10:49 -0600 (Wed, 25 Mar 2009) 19 Did stuff with things. 上下快速移动 2009-03-2511:10:49-0600(2009年3月25日星期三) 19 做一些事情。 使用:

使用(SvnClient client=new SvnClient())
{
收集清单;
//不使用缓存凭据时
//c.Authentication.DefaultCredentials=新网络凭据(“用户”、“通过”)l
SvnLogArgs la=新的SvnLogArgs{Start=128,End=132};
GetLog(新的Uri(“http://my/repository(洛杉矶,外名单);
foreach(列表中的SvnLogEventArgs a)
{
Console.WriteLine(“==r{0}:{1}===”,a.Revision,a.Author);
控制台写入线(a.LogMessage);
}
}

您真的想查询SVN服务器,还是只想在项目目录中获取最新SVN提交的修订号/说明?我知道有些库的名称中有SVN,但我想知道如何从以前做过SVN的人那里获取。您好,以及如何获取上一次修订的编号?
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);
    }
}