我有一个运行 windows 2003 server 和Visual SVN Server 2.0.8 的专用服务器。
我正在尝试将其配置为在提交时发送电子邮件通知。所以我在 Visual SVN 网站上找到了这篇文章。
它说我必须编辑 Post-commit 挂钩并将其设置为以下内容:
"%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>'
提交过程运行没有问题,我的意思是它确实提交了文件。但它不会发送任何电子邮件通知。如果我删除了 post-commit 钩子,那么我不会收到错误消息(当然我也不会收到任何通知)。
使用带有以下代码的 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 调用替换了整个钩子,同样的错误。看来不管我怎么上钩,它都行不通。
我以前在 Windows 上遇到过区分大小写和颠覆的问题。这可能是问题吗?
我会试试这个:
检查 text.txt 中回显的命令是否有效。
此问题在 VisualSVN Server 2.1.3 中修复:
有关更多详细信息,请参阅VisualSVN Server 2.1.3 的更改日志条目。
尝试使用您的参数从命令行运行 VisualSVNServerHooks.exe。它将显示一条可能对您有所帮助的错误消息。
我会检查你没有使用虚假地址,并且它存在于你的邮件服务器上。