参考url
- https://m-tmatma.github.io/svndoc/svn_hook_script.html
- http://jtdan.com/vcs/svn/svn-book/svn.reposadmin.create.html#svn.reposadmin.create.hooks
現在 CollabNet Subversion Edge は配布終了
Subversionは CollabNet社が開発していましたが、 linux版?は、apacheプロジェクトへ引き継がれ、 windows版であるCollabNet Subversion Edgeは合併により、 配布が終了されたようです。
- https://subversion.apache.org/
- http://help.collab.net/index.jsp?topic=/csvn/faq/whatiscollabnetsubversion.html
- https://www.businesswire.com/news/home/20200124005239/ja/
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