Mercurial changegroup hooks не срабатывает;Linux - PullRequest
2 голосов
/ 21 сентября 2010

У меня есть сервер, который обслуживает "центральное" хранилище Mercurial;команда клонирует его и передает свои изменения через ssh.Hudson установлен на том же сервере (RHEL 5.5).Я хочу запускать сборку Hudson всякий раз, когда кто-нибудь толкает в центральное хранилище Mercurial.Я также хотел бы отправить уведомление по электронной почте после нажатия.

В 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

Когда я запускаю ./notify непосредственно из оболочки, почта отправляется правильно, когда я нахожусь в пути к центральному репозиторию;если я выполню уведомление из моего домашнего каталога, хранилище не будет найдено, и я получу пустое письмо, но по крайней мере получу письмо.Я предполагаю, что эти крючки просто не запускаются.

Что может быть на пути?Что я должен проверить?

1 Ответ

5 голосов
/ 22 сентября 2010

Бег cd ProjectName; hg showconfig|grep hooks.

Могу поспорить, что вы не видите ваши хуки, если это именно то, что у вас есть:

В ProjectName / .hg /.hgrc есть следующее:

Hgrc для всего хранилища .hg/hgrc без точки.

...