2

abc-pre-commit.batファイルに文字列が含まれている場合にコミットを禁止するために、フックスクリプトファイルに以下のコードを実装しましたcod_bank

SETLOCAL
SET PATH=C:\Windows;C:\Windows\system32;D:\SCC\SVN146\ bin;C:\Program Files\VisualSVN Server\bin;
set SVNLOOK = "C:\ProgramFiles\VisualSVNServer\bin\svnlook.exe"

set REPOS=%1
set TXN=%2

%SVNLOOK% diff %REPOS% -t %TXN% | findstr /I /M /L cod_bank > nul


if %errorlevel% gtr 0 (
exit 0
) else (
echo Your commit has been blocked because it contains the keyword cod_bank. 1>&2
exit 1
)

私のファイルには文字列が含まれていますcod_bank

出力:コミットウィンドウに表示されます

commit blocked by pre-commit-hook

また、svnlook diff コマンドの o/p を保存するにはどうすればよいですか。試しましたが、成功しませんでした。

4

1 に答える 1

2

Linux では次のように動作します。

#!/bin/sh
REPOS="$1"
TXN="$2"


SVNLOOK=/usr/bin/svnlook
$SVNLOOK diff "$REPOS" -t "$TXN" | \
[[ grep "^+cod_bank">/dev/null exit 0 ]]  ||
echo "Your commit has been blocked because it contains the keyword cod_bank"  >&2
exit 1
于 2012-06-26T20:46:28.940 に答える