使用SharpSVN获取提交后挂钩中特定修订号的日志详细信息?

时间:2009-08-07 18:19:16

标签: c# svn hook sharpsvn

我正在尝试使用SharpSVN编写一个提交后挂钩但是无法弄清楚如何使用SharpSVN获取变更集信息给定版本号和回购路径。任何想法都非常感激。

2 个答案:

答案 0 :(得分:4)

在钩子客户端中,您最有可能想要使用直接访问存储库的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)
    {
       //
    }
  }
}

答案 1 :(得分:-2)

您需要GetLog方法。

SvnRevision rev(123);
client.GetLog(uri, new SvnLogArgs(rev), out logitems); // uri is your url to the repo.

这可能不准确(没有intellisense!我怎么期望编写C#而不用那个:(),但它大致是你想要的。