在svn仓库目录下有个hooks目录,下面建一个 post-commit.cmd 文件,有代码提交到仓库,自动checkout到指定目录。
@echo on
SET REPOS=%1
SET USER=%2
SET SVN="C:/Program Files/VisualSVN Server/bin/svn.exe"
SET DIR="D:/webroot"
(call %SVN% update %DIR% --username root --password root --non-interactive)
SET REPOS=%1
SET USER=%2
SET SVN="C:/Program Files/VisualSVN Server/bin/svn.exe"
SET DIR="D:/webroot"
(call %SVN% update %DIR% --username root --password root --non-interactive)
注意,路径中的反斜线 D:webroot 要改成正斜线 D:/webroot
SVN = "C:/Program Files/VisualSVN Server/bin/svn.exe" 是 svn服务器程序的实际位置。
![](https://images2015.cnblogs.com/blog/1192298/201707/1192298-20170702204900211-1763633670.png)
端口改成8080或者其他,避免和Apache等应用端口冲突。
如果需要设置post-commit钩子自动更新代码,不要勾选HTTPS,试过勾选,由于证书问题,无法执行post-commit
参考了:https://www.tomred.net/devops/svn-error-resolving-case.html