svn hook
xxx/hooks/post-commit
#!/bin/sh
# POST-COMMIT HOOK
REPOS="$1"
REV="$2"
TXN_NAME="$3"
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
bash /home/DJ/download-and-config
/home/DJ/download-and-config
#!/bin/bash
# SVN仓库URL和本地目录
SVN_REPO="https://192.168.100.101/svn2/config/projects.txt"
LOCAL_DIR="/home/DJ"
# 下载projects.txt文件到指定目录
export SVN_SSL_NO_VERIFY=true
svn export --force "$SVN_REPO" "$LOCAL_DIR/config"
#忽略已经配置规则的目录
sed -i '/<仓库名称>/d' "$LOCAL_DIR/config/projects.txt"
# 逐行读取projects.txt文件
while IFS= read -r project; do
# 检查/var/www/svn目录中是否存在相应的项目目录
if [ -d "/var/www/svn/$project" ]; then
# 切换到项目目录
cd "/var/www/svn/$project" || exit 1
# 复制hooks目录下的文件到当前目录
cp "/home/DJ/hooks/svncheckerconfig.ini" ./hooks
cp "/home/DJ/hooks/pre-commit" ./hooks
cp "/home/DJ/hooks/post-commit" ./hooks
fi
# 检查/home目录中是否存在相应的项目目录 if [ -d "/home/$project" ]; then
# 切换到项目目录 cd "/home/$project" || exit 1
# 复制hooks目录下的文件到当前目录 cp "/home/DJ/hooks/svncheckerconfig.ini" ./hooks
cp "/home/DJ/hooks/pre-commit" ./hooks
cp "/home/DJ/hooks/post-commit" ./hooks
fi
done < "$LOCAL_DIR/config/projects.txt"