2012-07-18 120 views

回答

2

在Windows環境下爲Subversion編寫鉤子腳本(例如VisualSVN Server)的最佳選擇是使用Windows PowerShell腳本語言或好的'Windows batch command-line

這裏是commit.bat後後commit.ps1的示例代碼,應一起使用的提交的版本導出到C:\Test。將它們放入存儲庫的「掛鉤」文件夾中,例如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% 
+0

是他們的任何方式來更新僅修改過的文件? 我在這裏添加了問題,請檢查。 http://stackoverflow.com/q/23670606/1357033 – 2014-05-15 10:06:11

+0

@bahrep有沒有辦法將存儲庫名稱添加到導出路徑。例如:c:\ test \ $ urepos? – 2014-08-28 16:29:34

+0

@DavidKEgghead你可以解析'$ repos'來獲取版本庫的名稱。 – bahrep 2014-09-02 08:28:56