Php SVN钩子预提交钩子,防止添加相同的文件名
我的存储库中有一个类列表,我不希望添加两次相同的类名。Php SVN钩子预提交钩子,防止添加相同的文件名,php,bash,svn,svn-hooks,Php,Bash,Svn,Svn Hooks,我的存储库中有一个类列表,我不希望添加两次相同的类名。 我的目标是防止提交相同的文件名,即如果任何目录中已经存在abc.class.php,则用户无法将abc.class.php添加到存储库中。 我试过了 它正在检查/var/www/html/REPO/(checkedOut Branch)中提交的文件,但我想检查存储库中的文件。 有可能的方法吗?您可以使用svnlook树: CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^[A]"
我的目标是防止提交相同的文件名,即如果任何目录中已经存在abc.class.php,则用户无法将abc.class.php添加到存储库中。
我试过了 它正在检查/var/www/html/REPO/(checkedOut Branch)中提交的文件,但我想检查存储库中的文件。
有可能的方法吗?您可以使用
svnlook树
:
CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^[A]" | $AWK '{print $2}' | grep \.class.php$`
tree=$( svnlook tree "$REPOS" )
for FILENAME in $CHANGED
do
if grep -q "$FILENAME" <<< "$tree"
then
echo "WARNING- "$FILENAME" - class name already exist" 1>&2
exit 1
fi
done
CHANGED=`$SVNLOOK CHANGED-t“$TXN”“$REPOS”| grep”^[A]“|$AWK'{print$2}'| grep\.class.php$`
树=$(svnlook树“$REPOS”)
对于文件名,以$CHANGED为单位
做
如果grep-q“$FILENAME”非常感谢,得到了一个方向,但grep命令给出了错误-语法错误:意外重定向,搜索了此错误并添加了#/bin/bash在顶部,仍在处理错误谢谢,添加#/bin/bash位于顶部已解决问题
CHANGED=`$SVNLOOK changed -t "$TXN" "$REPOS" | grep "^[A]" | $AWK '{print $2}' | grep \.class.php$`
tree=$( svnlook tree "$REPOS" )
for FILENAME in $CHANGED
do
if grep -q "$FILENAME" <<< "$tree"
then
echo "WARNING- "$FILENAME" - class name already exist" 1>&2
exit 1
fi
done