3

有人可以告诉我.hgrc配置中有什么不正确的地方吗?我正在尝试在每次推送和/或提交后使用gmail发送电子邮件。

.hgrc

[paths]
default = ssh://www.domain.com/repo/hg

[ui]
username = intern <user@domain.com>
ssh="C:\Program Files (x86)\Mercurial\plink.exe" -ssh -i "C:\Program Files (x86)\Mercurial\key.pub"

[extensions]
hgext.notify = 

[hooks]
changegroup.notify = python:hgext.notify.hook
incoming.notify = python:hgext.notify.hook

[email]
from = user@domain.com

[smtp]
host = smtp.gmail.com
username = user@gmail.com
password = sure
port = 587
tls = true

[web]
baseurl = http://dev/...

[notify]
sources = serve push pull bundle
test = False
config = /path/to/subscription/file
template = \ndetails:   {baseurl}{webroot}/rev/{node|short}\nchangeset: {rev}:{node|short}\nuser:      {author}\ndate:      {date|date}\ndescription:\n{desc}\n
maxdiff = 300

错误

Incoming comand failed for P/project. running ""C:\Program Files (x86)\Mercurial\plink.exe" -ssh -i "C:\Program Files (x86)\Mercurial\key.pub" user@domain.com "hg -R repo/hg serve --stdio""
sending hello command
sending between command
remote: FATAL ERROR: Server unexpectedly closed network connection
abort: no suitable response from remote hg!
, error code: -1
  running ""C:\Program Files (x86)\Mercurial\plink.exe" -ssh -i "C:\Program Files (x86)\Mercurial\key.pub" user@domain.com "hg -R repo/hg serve --stdio""
sending hello command
sending between command
remote: FATAL ERROR: Server unexpectedly closed network connection
abort: no suitable response from remote hg!
4

3 回答 3

2

您是否按照“AccessingSshRepositoriesFromWindows”中详述的步骤进行操作?

如果是,您仍然可以尝试:

Plink.exe还有一个-batch参数告诉 plink 以非交互方式运行。
任何通常需要用户交互的活动(例如新的主机密钥)都会导致 plink 立即退出而不是停止。
ssh操作失败时,您可以使用--debug参数来找出问题所在。

于 2010-05-04T04:13:02.717 回答
1

我相信你必须在本地拥有私钥,而公钥在目标机器上。不过,它会连接起来似乎很奇怪。

于 2011-03-08T05:52:17.190 回答
0

问题可能在于推送而不是使用通知扩展发送电子邮件。

如果您正确按照说明进行操作,则可能是公钥和私钥有问题。

您需要在您的服务器上编辑用户的 .ssh 文件夹中的 authorized_keys,并将您的密钥的公钥放入此文件中。

您将在客户端与选美比赛中使用的密钥的私钥(添加密钥按钮)。

如果您发送大量自动电子邮件,我建议使用其他电子邮件服务而不是 gmail。gmail可以将您的IP列入黑名单并阻止电子邮件。

于 2013-07-04T04:38:55.370 回答