我建立了一个 http 中央 Mercurial 存储库,并尝试在每次推送时发送电子邮件。我按照 mercurial 页面和http://morecode.wordpress.com/2007/08/03/setting-up-mercurial-to-e-mail-on-a-commit/的说明进行操作。
推送工作正常,但我根本看不到任何通知消息。请帮我。
我的客户端存储库文件夹中的 .hg/hgrc 看起来像这样
[extensions]
hgext.notify=
[hooks]
changegroup.notify = python:hgext.notify.hook
[email]
from = what@gmail.com
[smtp]
host = smtp.gmail.com
username = what@gmail.com
password = ohyea
port = 587
tls = true
[web]
baseurl = http://1.1.1.1/repo_name
[notify]
sources = serve push pull bundle
# set this to False when you're ready for mail to start sending
test = False
config = /home/myhome/something/subscription.conf
template = \ndetails: {baseurl}{webroot}/rev/{node|short}\nchangeset:{rev}:node|short}\nuser: {author}\ndate: {date|date}\ndescription:\n{desc}\n
maxdiff = 300
我的 /home/myhome/something/subscription.conf 看起来像
[reposubs]
# key is glob pattern, value is comma-separated list of subscriber emails
* = sometestemail@gmail.com
我保存,我的结果如下所示,如果您注意到我根本看不到任何通知消息
pushing to http://1.1.1.1/repo_name
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 7376 changes to 7376 files
[更新:]
我发现我的系统中没有 hgext 文件夹。所以我手动下载了与我的 hg 版本匹配的源并更新了我的 hgrc,如下所示,它仍然无法正常工作。请提供任何帮助。
[extensions]
notify= /path/to/notify.py
[更新2:]
谢谢 Ry4an - 我试过了,还是没有运气。
在我的网络服务器中
在 /var/www 和 /var/www/hg 我创建了 .hgrc 文件,只是不确定哪个是我的 webroot,所以我在两个地方都做了内容
[trusted]
users=user_name
此用户名是我尝试推送到存储库的客户端中的用户名。
在我的客户上
在我的 repo 的 .hg/hgrc 中,我添加了受信任的部分
[trusted]
users=user_name
上述程序没有帮助
第二种方法
在我的客户上,
在我的回购的.hg下,我做到了
chown www-data:www-data hgrc
当我尝试推送时,我在推送时收到了一些信息
sending capabilities command
capabilities: changegroupsubset stream lookup pushkey unbundle=HG10GZ,HG10BZ,HG10UN branchmap
sending heads command
searching for changes
common changesets up to 6ef19c49143a
sending branchmap command
ignoring untrusted configuration option hooks.changegroup.notify = python:hgext.notify.hook
第一种方法时没有出现这个忽略命令,只有在我更改了hgrc的所有权后,才会弹出这个。