Mercurial,如何使用.NET api编写钩子?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (11)

我正在寻找如何编写.NET语言的Mercurial钩子的例子,包括如何设置.hg / hgr

我已经使用了“Mercurial.Net”Api,但Windows环境变量中的信息有点受限,并且在标准错误通道上返回错误消息似乎不起作用。我想我做错了什么。

我使用.Net的原因有很多,其中之一是与使用WFC的其他系统连接

提问于
用户回答回答于

编辑Mercurial.Net的新版本使编写钩子更容易,请参阅http://mercurialnet.codeplex.com/discussions/261283

  1. 创建一个“Windows应用程序”项目(例如MyHook)。
  2. 添加对“Mercurial.Net”的引用(您可以使用NuGet使其更容易http://nuget.org/List/Packages/Mercurial.Net)。
  3. 在你的主要方法中,做任何你想要的处理(例如检索日志,然后查看最后一次提交的信息 - 例子见http://mercurialnet.codeplex.com/discussions/261283)。你可以添加一个MessageBox.Show(message)来检查钩子是否确实被执行。
  4. 编译你的项目。
  5. 将钩子添加到.hg / hgrc文件中(以下是每次提交后将执行的钩子示例,请参阅https://www.mercurial-scm.org/wiki/Hook获取更多信息,http:// hgbook.red-bean.com/read/handling-repository-events-with-hooks.html获取更多信息): [hooks] commit.hook1 = "C:\path to file\MyHook.exe"

下一次你提交你的钩子应该被执行。

查看http://docs.vkarlsen.no/Mercurial.Net/以了解Mercurial.Net的类。

扫码关注云+社区