参考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