如何在VisualSVN中设置提交后的电子邮件

时间:2013-10-24 14:10:59

标签: windows svn version-control visualsvn-server post-commit

我正在尝试为VisualSVN Server配置内置的提交后挂钩。我直接通过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 Error

有人可以帮我理解VisualSVN引用C:\ Development \ Source \ format路径的原因吗?我还尝试用VisualSVNServerHooks.exe所在目录的直接路径替换环境变量(即%VISUALSVN_SERVER%)无济于事。我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

在搜索网络论坛之后,有人建议从第一个参数中取出括号,即使存储库的路径中有括号,这样它只是%1并且解决了问题。工作的VisualSVN post-commit脚本如下:

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

答案 1 :(得分:0)

这个问题与post-commit钩子脚本完全无关。该错误表明存储库缺少“格式”文件。预计此文件存在且contains the format number of this filesystem。该文件是否存在?

如果文件丢失,您无法对存储库执行任何操作:您无法使用Subversion客户端访问存储库,无法运行svnadmin命令,并且预计钩子脚本会失败(在至少在最新的SVN / VisualSVN服务器版本上。)

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