1

在提交后使用提交后挂钩导出特定的 Subversion 存储库分支可能会很方便。

例如,在提交后更新网站或更新开发分支以进行测试。

有没有这种钩子的说明或样本?

4

1 回答 1

2

在 Windows 环境(例如VisualSVN Server )中为 Subversion 编写挂钩脚本的最佳选择是使用Windows PowerShell脚本语言或良好的Windows 批处理命令行

下面是post-commit.batpost-commit.ps1的示例代码,它们应该一起用于将提交的修订导出到C:\Test. 将它们放入您的存储库“钩子”文件夹中,例如C:\Repositories\repository\hooks\

提交后.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

提交后.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%
于 2012-07-18T11:29:58.070 回答