我希望自动执行与SubVersion相关的一些任务,所以我得到了SharpSvn。不幸的是我找不到很多文档。

我希望能够在用户提交新版本后查看更改,以便我可以解析代码以获取特殊注释,然后将其上传到我的票证系统。

有帮助吗?

解决方案

如果您只想浏览SharpSvn,可以使用 http://docs.sharpsvn.net/ 。那里的文档远未完整,因为重点主要是提供功能。欢迎任何有关增强文档(或SharpSvn本身)的帮助; - )

要为问题跟踪器使用日志消息,您可以使用两种途径:

  1. 一次处理一次更改的提交后挂钩
  2. 每隔一段时间调用'svn log -r <!> lt; last-retrieval <!> gt;:HEAD'的预定服务。
  3. SharpSvn的最后每日版本对提交钩子有一些支持,但那部分还不是真正的api-stable。

    你可以用:

    创建一个post commit hook(post-commit.exe)
    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)
        {
           //
        }
      }
    }
    

    (对于完整的解决方案,您还必须挂钩post-revprop-change,因为您的用户可能会在第一次提交后更改日志消息)

其他提示

我想知道subversion hooks(在svn服务器上)是否可能不是另一种方法?我没有尝试过,但 CaptainHook 似乎提供了svn - <!> gt; .NET钩子集成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top