使用post-commit钩子在提交后导出特定的Subversion存储库分支可能很方便。
E.g。 提交后更新网站或更新开发分支进行测试。
是否有这样的钩子的指示或样本?
答案 0 :(得分:2)
在Windows环境中为Subversion编写钩子脚本的最佳选择(例如VisualSVN Server)是使用Windows PowerShell脚本语言或“Windows batch command-line”。
以下是 post-commit.bat 和 post-commit.ps1 的示例代码,它们应该一起用于将已提交的修订导出到C:\Test
。将它们放入存储库'hooks'文件夹,例如C:\Repositories\repository\hooks\
<强> 后commit.ps1 强>
# Store hook arguments into variables with mnemonic names
$repos = $args[0]
$rev = $args[1]
# Build path to svn.exe
$svn = "$env:VISUALSVN_SERVER\bin\svn.exe"
# Build url to repository
$urepos = $repos -replace "\\", "/"
$url = "file:///$urepos/"
# Export repository revision $rev to the C:\test folder
&"$svn" export -r $rev --force "$url" c:\test
<强> 后commit.bat 强>
@echo off
set PWSH=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
%PWSH% -command $input ^| %1\hooks\post-commit.ps1 %1 %2
if errorlevel 1 exit %errorlevel%