我可以配置mercurial钩子,就像在hgrc文件中配置一些扩展一样?

时间:2012-03-05 10:52:12

标签: python mercurial dvcs mercurial-hook

我知道如何指定运行哪些挂钩。我想知道的是,是否可以通过hgrc文件将配置传递到钩子中。扩展可以做到这一点,例如。

[extensions]
someextension = something

[someextension]
some.config = 1
some.other.config = True

我希望能够为钩子做类似的事情,例如

[hooks]
changegroup.mail_someone = python:something

[changegroup.mail_someone]
to_address = some.email.address@somewhere.com

这样的事情可能吗?寻找一种方法没有找到任何有用的东西...如果可能的话,我如何在我的(Python进程中)钩子处理程序中读取配置?

1 个答案:

答案 0 :(得分:6)

让我回答两种钩子类型:

  • 进程中挂钩会使用ui.config and the related methods来读取配置值:

    address = ui.config('changegroup.mail_someone', 'to_address')
    

    您还可以使用ui.configboolui.configlist分别阅读布尔值和列表。

  • 外部挂钩可以使用hg showconfig来提取配置值:

    $ hg showconfig changegroup.mail_someone.to_address
    

    这将在stdout上返回some.email.address@somewhere.com。你可以使用

    $ hg showconfig changegroup.mail_someone
    

    查看该特定部分中的所有设置。