获得日志与SharpSVN一个post-commit钩子特定版本号的详细信息?
题
我想写使用SharpSVN一个post-commit钩子,但无法弄清楚如何使用SharpSVN给出的版本号和路径回购获得变更信息。任何想法赞赏。
解决方案
在钩客户,你最有可能要使用直接访问资源库中的SvnLookClient。在此示例中(从这里另一个问题复制)我也使用SvnHookArguments类用于解析钩的参数。
static void Main(string[] args)
{
SvnHookArguments ha;
if (!SvnHookArguments.ParseHookArguments(args, SvnHookType.PostCommit, false, out ha))
{
Console.Error.WriteLine("Invalid arguments");
Environment.Exit(1);
}
using (SvnLookClient cl = new SvnLookClient())
{
SvnChangeInfoEventArgs ci;
cl.GetChangeInfo(ha.LookOrigin, out ci);
// ci contains information on the commit e.g.
Console.WriteLine(ci.LogMessage); // Has log message
foreach(SvnChangeItem i in ci.ChangedPaths)
{
//
}
}
}
其他提示
您想要的 GetLog 方法。
SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.
这可能不是确切的(无智能感知!我怎么有望代码C#不说:(),但它的大概你想要的东西。
不隶属于 StackOverflow