修改svn库中 hooks/pre-commit
##控制上传文件大小
#!/bin/sh
REPOS="$1"
TXN="$2"
RES="OK"
SVNLOOK=/usr/bin/svnlook
MAX_SIZE=51200000
files=$($SVNLOOK changed -t $TXN $REPOS|cut -c5-)
for f in $files
do
filesize=$($SVNLOOK cat -t $TXN $REPOS $f | wc -c)
if [ $filesize -gt $MAX_SIZE ] ; then
#export LANG=zh_CN.GBK
export LANG=en_US.UTF-8
echo "New File $f Is Too Large(Must<=50MB)" >&2
exit 1
fi
##限制中文文件名
######################
FILE=`$SVNLOOK changed -t $TXN $REPOS`
#echo "`$SVNLOOK changed -t "$TXN" "$REPOS"| cut -c5-`" > /tmp/svn.log
var=`echo $FILE|awk '{print $2}'|awk -F/ '{print $1}'`
case $var in
dev)
$SVNLOOK changed -t "$TXN" "$REPOS" |cut -c5-| grep "[?\ -]" >> /dev/null
if [ $? -eq 0 ]; then
echo "**dev****Chinese filename are not allow!******" >&2
exit 1;
fi
;;
export)
$SVNLOOK changed -t "$TXN" "$REPOS" |cut -c5-| grep "[?\ -]" >> /dev/null
# $SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}' | grep "[^0-9A-Za-z+.()_-/$]" > /dev/null
if [ $? -eq 0 ]; then
echo "**export****Chinese filename are not allow!******" >&2
exit 1;
fi
;;
*)
# var2=`echo $FILE|awk '{print $2}'|awk -F/ '{print $4}'`
# case $var2 in
# export)
# $SVNLOOK changed -t "$TXN" "$REPOS"| awk '{print $2}' | grep "[^0-9A-Za-z._$/\-]" > /dev/null
# if [ $? -eq 0 ]; then
# echo "***art/export***Chinese filename are not allow!******" >&2
# exit 1;
# fi
# ;;
# *)
# ;;
# esac
;;
esac
done