svnhook--判断本次提交的内容是否在指定路径头下
有时候在用户提交内容时,只有指定位置下的文件有提交才需要进行一些特定的限制,增加判断路径代码如下,把这个代码加在你要进行限制的前面即可
# 定义多个路径头 SPECIFIED_PREFIXES="tech-middle/demo table qa" # 检查提交的文件是否在指定路径头下 FILE_IN_SPECIFIED_PATH=false CHANGED_FILES1=$($SVNLOOK changed -t $TXN $REPOS | awk "{print \$2}") #echo "当前提交的所有文件路径CHANGED_FILES1: $CHANGED_FILES1" >> "$LOG_FILE" # 逐行处理 CHANGED_FILES1 for FILE_PATH in $CHANGED_FILES1; do #echo "Checking file: $FILE_PATH" >> "$LOG_FILE" # 输出当前检查的文件 for prefix in $SPECIFIED_PREFIXES; do #echo "Against prefix: $prefix" >> "$LOG_FILE" # 输出当前检查的前缀 if echo "$FILE_PATH" | grep -q "^$prefix"; then FILE_IN_SPECIFIED_PATH=true #echo "File $FILE_PATH matches prefix $prefix" >> "$LOG_FILE" # 输出匹配信息 break 2 fi done done # 输出最终状态 #echo "File in specified path: $FILE_IN_SPECIFIED_PATH" >> "$LOG_FILE" # 如果不在指定路径下,允许提交 if [ "$FILE_IN_SPECIFIED_PATH" = false ]; then exit 0 fi