VisualSVN 服务器中的电子邮件通知问题

VisualSVN 服务器中的电子邮件通知问题

我有一台运行 Windows 2003 Server 的专用服务器,可视化 SVN 服务器2.0.8.

我正在尝试将其配置为在提交时发送电子邮件通知。所以我发现本文在 Visual SVN 网站上。

它说我必须编辑提交后钩子并将其设置为以下内容:

"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
commit-notification "%1" -r %2 ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server>

当然我已经替换了那里的变量。

问题是当有人提交某些内容时,svn 客户端会抛出以下错误:

post-commit hook failed (exit code 1) with no output.
VisualSVNServerHooks: Error resolving case of '<path-to-repository>'

提交过程运行正常,我的意思是它确实提交了文件。但它不会发送任何电子邮件通知。如果我删除提交后挂钩,那么我就不会收到错误(当然我也不会收到任何通知)。

使用 cmd.exe 手动运行 VisualSVNServerHook.exe 并输入以下代码即可正常工作(发送电子邮件)。

"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" commit-notification ^
<path-to-repository> -r <some-revision_number> ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server>

你能帮我解决吗?错误信息不说明太多 =S

谢谢你!

编辑: 好的……所以我尝试用静态值替换 %1 和 %2(使用实际存储库路径和一些现有的修订号),就像我使用 cmd.exe 测试的那样。但是它不起作用。所以我更进一步,用对 C:\hook.bat 的简单调用替换了整个钩子,错误相同。似乎无论我在钩子上放什么,它都不起作用。

答案1

我以前在 Windows 上遇到过区分大小写和颠覆的问题。这可能是问题所在吗?

我会尝试这个:

 echo "%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^
commit-notification "%1" -r %2 ^
--from <from-email> --to <to-email> ^
--smtp-server <smtp-server> > <somepath>\text.txt

检查 text.txt 中回显的命令是否有效。

答案2

该问题已在 VisualSVN Server 2.1.3 中修复:

已修复:如果 VisualSVN Server 服务帐户没有对存储库文件夹的所有父级的访问权限,则 VisualSVNServerHooks.exe 不起作用。

VisualSVN Server 2.1.3 的更改日志条目更多细节。

答案3

尝试使用您的参数从命令行运行 VisualSVNServerHooks.exe。它将显示一条可能对您有帮助的错误消息。

我会检查您是否使用了虚假地址以及该地址是否存在于您的邮件服务器上。

相关内容