我正在尝试创建一个预提交挂钩,它将搜索正在提交的文件与预先确定的字符串,如果它包含它,那么它在提交之前就会出错。
尝试在线搜索后我有以下内容:
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
$SVNLOOK diff "$REPOS" -t "$TXN" | [[ grep "^+builder_group">/dev/null exit 0 ]] ||
echo "File contains builder_group commit failed" >&2
exit 1
这是我得到的错误:
svn: E165001: Commit failed (details follow):
svn: E165001: Commit blocked by pre-commit hook (exit code 2) with output:
/etc/svn/testrepo/hooks/pre-commit: line 7: conditional binary operator expected
/etc/svn/testrepo/hooks/pre-commit: line 7: syntax error near `"^+cod_bank">'
/etc/svn/testrepo/hooks/pre-commit: line 7: `$SVNLOOK diff "$REPOS" -t "$TXN" | [[ grep "^+builder_group">/dev/null exit 0 ]] ||'
你能看出为什么会出现这样的错误吗?谢谢。
答案 0 :(得分:0)
以下是我最终必须更改它以使其工作。
$SVNLOOK diff -t "$TXN" "$REPOS" | grep -i "builder_group" > /dev/null && { echo "File contains builder_group commit failed." 1>&2; exit 1; }
exit 0;
根据grep -i" abc123"它将搜索文件,如果它匹配或包含相同的字母路径,将导致提交错误。
例如:如果文件包含aabc123,它仍然会出错。