SVN リポジトリのユーザーが特定のファイルへの変更をチェックインできないようにしたいと考えています。これは、次の pre-commit フック スクリプトを使用して行いました。ただし、制限されたファイルの数が増えており、変更をコミットするのが非常に遅くなっています。より効率的なコーディング方法があるかどうか疑問に思っていました。チェンジリストで遊んだことがありますが、うまくいきません。
前もって感謝します
pre-commit フック スクリプト (Windows ベースの SVN リポジトリ):
setlocal
:: Inputs from Subversion
set REPOS=%1%
set TXN=%2%
:: Checks if one of the reference files
Rem Check if the commit contains reference files
svnlook changed %REPOS% -t %TXN% | findstr /r /i "^.*referenceparts/part1.txt" > nul
if %errorlevel%==0 (goto RefPart)
svnlook changed %REPOS% -t %TXN% | findstr /r /i "^.*referenceparts/part2.txt" > nul
if %errorlevel%==0 (goto RefPart)
......
.....
etc etc
exit 0
:: Blocks the commit if part are reference
: RefPart
echo. 1>&2
echo ---------------------------------------------------------------------- 1>&2
echo Your commit has been cancelled because you are trying to change a 1>&2
echo part for a reference turbine! Please make a copy of this part and 1>&2
echo save it under a different name. 1>&2
echo ---------------------------------------------------------------------- 1>&2
echo. 1>&2
exit 1