如何在VisualSVN中设置Post-Commit电子邮件

我正在尝试为VisualSVN Serverconfiguration内置的提交后挂接。 我通过VisualSVN服务器pipe理器直接configuration了提交后的脚本,如下所示:

"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks.exe" ^ commit-notification "%1" -r %2 ^ --from aaron@posscribble.com --to aaron@posscribble.com ^ --smtp-server mail.posscribble.com 

提交后失败,并显示以下错误消息:

提交后错误

有人可以帮我理解VisualSVN为什么引用C:\ Development \ Source \ formatpath吗? 我也尝试用VisualSVNServerHooks.exe所在目录的直接pathreplace环境variables(即%VISUALSVN_SERVER%)无济于事。 我在这里做错了什么?

在搜索网络论坛之后,有人建议把第一个参数作为括号,即使存储库的路径有括号,这样它就是%1,并解决了问题。 VisualSVN的提交后脚本如下:

 "%VISUALSVN_SERVER%\bin\VisualSVNserverHooks.exe" ^ commit-notification %1 -r %2 ^ --from aaron@posscribble.com --to aaron@posscribble.com ^ --smtp-server mail.posscribble.com 

这个问题与post-commit钩子脚本无关。 该错误指出存储库缺少“格式”文件。 预计该文件存在,并包含此文件系统的格式编号 。 那么文件是否存在?

如果这个文件丢失了,你就无法对版本库做任何事情:你不能使用Subversion客户端访问版本库,不能运行svnadmin命令,而且期望钩子脚本失败(至少在最新的SVN / VisualSVN服务器版本)。

解决这个问题最简单的方法是从另一个仓库取得格式文件,并将其复制到“C:\ Development \ Source \”。 但是,您必须确保复制的文件具有Source存储库的正确格式号。