1

post-commit フックを使用して、コミット後に特定の 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

post-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%
于 2012-07-18T11:29:58.070 に答える