コミット ログ メッセージから文字列 (BUGID) を切り取り、利用可能なバグ ID (テキスト ファイル) のリストからそれを検証したいのですが、その ID が無効な場合、pre-commit フックはそのコミットをブロックする必要があります。例:
ファイルが追加されました 障害 ID:12345
ログ メッセージから「Defect ID:12345」を切り取り、SVN の場所にあるテキスト ファイルから検証したいと考えています。Windows を使用しており、bat ファイルに pre-commit フックを書き込む必要があります。次のことを試しましたが、うまくいきません。出力が得られません。助けてください
For /F "delims=" %%I in (`svnlook log %REPOS% -t %TXN%`) Do (Set Message=!Message!%%I)
rem Make sure that the log Message contains some text.
echo "%Message%" 1>&2
echo "%Message%" | FindStr [a-zA-Z0-9] >nul
IF %ERRORLEVEL% NEQ 0 (GOTO COMMENT_NOT_OK) else GOTO OK
:COMMENT_NOT_OK
echo COMMENT_NOT_OK 1>&2
echo Your commit has been blocked because you didn't provide adequate log Message 1>&2
echo Please write a log Message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
if %DEBUG% EQU 1 GOTO EXITDEBUG
exit 1
:OK
if %DEBUG% EQU 1 GOTO EXITDEBUG
exit 0
:EXITDEBUG
echo == EXITDEBUG == 1>&2
exit 0