【问题标题】:Hook script to block commit of files having a particular string挂钩脚本以阻止提交具有特定字符串的文件
【发布时间】:2011-11-18 11:54:31
【问题描述】:

我在我的钩子脚本文件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

它不显示 echo msg 也我如何存储 svnlook diff 命令的 o/p。我试过但没有成功。

【问题讨论】:

    标签: svn svn-hooks


    【解决方案1】:

    在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-23
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 2015-11-28
      相关资源
      最近更新 更多