Mercurial 变更组 Hook 未触发; Linux

标签 mercurial continuous-integration hudson hook

我有一个服务器,为“中央”Mercurial 存储库提供服务;团队克隆它并通过 ssh 将更改推送到它。 Hudson 安装在同一台服务器 (RHEL 5.5) 上。我希望每当有人推送到中央 Mercurial 存储库时都会触发 Hudson 构建。我还希望在推送时发送通知电子邮件。

在ProjectName/.hg/.hgrc中有以下内容:

[hooks]
changegroup.hudson = wget http://Server.Name:8080//job/Project_Name/builds?delay=0sec >&2

如果我使用 putty ssh 到该服务器,然后发出 wget 命令,则会成功触发构建,因此我认为这不是权限问题。

另一个钩子(Hook)是:

changegroup.notify = /the/path/.hg/hooks/notify

其中通知是:

dest='comma separated list of email addresses'
repo="path/to/repository/"
subject="New changesets in $repo"

hg glog -l 10 -r $HG_NODE: | mail -s "$subject" $dest

当我直接从 shell 运行 ./notify 时,当我位于中央存储库的路径中时,邮件会正确发送;如果我从主目录执行通知,则找不到存储库并且我收到一封空电子邮件,但至少我收到一封电子邮件。我认为这些钩子(Hook)只是没有运行。

可能有什么障碍?我应该检查什么?

最佳答案

运行cd 项目名称; hg showconfig|grep 钩子(Hook)

我打赌你不会看到你的钩子(Hook),如果这正是你所拥有的:

In ProjectName/.hg/.hgrc there is the following:

存储库范围的 hgrc 是 .hg/hgrc 不带点。

关于Mercurial 变更组 Hook 未触发; Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3763703/

相关文章:

hudson - 运行时的 Jenkins/Hudson 作业参数?

java - 如何使用 JavaHg Mercurial API 启用 "largefiles"扩展?

macos - MacHg/Murky/TortoiseHg - 使用哪个?

delphi - Delphi 的哪些程序分析工具支持持续集成系统?

java - 警告开发人员有关过时的依赖项

hudson - 仅当上次执行另一个作业成功时才在 Hudson 中触发定期作业

ubuntu - 在 Ubuntu 上安装 Mercurial 的正确方法

mercurial - 我有一个包含多个项目的存储库,如何为存储库中的每个项目提供现有历史记录?

powershell - 如何在Gitlab页面中将PowerShell与Gitlab CI一起使用?

continuous-integration - 如果下游作业失败,则将上游Jenkins/Hudson标记为失败