Mercurial changegroup挂钩未触发; Linux的

时间:2010-09-21 19:24:12

标签: 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命令,则会成功触发构建,所以我认为这不是权限问题。

另一个钩子是:

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

其中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时,当我在中央存储库的路径中时,邮件会正确发送;如果我从我的主目录执行通知,找不到存储库,我收到一封空邮件,但至少我收到一封电子邮件。我认为这些钩子没有被运行。

可能会阻碍什么?我该怎么检查?

1 个答案:

答案 0 :(得分:5)

运行cd ProjectName; hg showconfig|grep hooks

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

  

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

存储库范围的hgrc为.hg/hgrc,没有点。

相关问题