end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

subversion for win (CollabNet Subversion Edge)におけるhook script例

参考url

現在 CollabNet Subversion Edge は配布終了

Subversionは CollabNet社が開発していましたが、 linux版?は、apacheプロジェクトへ引き継がれ、 windows版であるCollabNet Subversion Edgeは合併により、 配布が終了されたようです。

hook script例 - hook/pre-unlock.bat

以下は、pre-unlock用.txt内に定義された特権ユーザのみ ロック強制解除を許可するものです。

sgrep.exe を使用していますが、sgrep.exeも現在は配布されていない気がします

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0

set REPOS=%1
set PATH=%2
set USER=%3
set TOKEN=%4
set BREAK=%5

c:\csvn\bin\SVNLOOK lock %REPOS% %PATH% | c:\csvn\bin\sgrep "-s/Owner:" Owner>LockOwner.txt

: 未ロックファイルのロック解除の場合 →OK
c:\csvn\bin\sgrep -e * LockOwner.txt
if %ERRORLEVEL% == 1 (
    echo "OK:lockされていない">&2
    exit 0
)

: ロック者とロック解除者が同じ場合 →OK
c:\csvn\bin\sgrep %USER% LockOwner.txt
if %ERRORLEVEL% == 0 (
    echo "OK:unlock者とlock者が同じ">&2
    exit 0
)

: 他者ロックファイルのロック解除の場合

c:\csvn\bin\sgrep -f/ID\pre-unlock用.txt/ %USER%
if %ERRORLEVEL% == 0 (
    echo "OK: ロックの解除権限あり">&2
    exit 0
)
echo "エラー: ロック解除権限がありません">&2
exit 1