我已经建立了一个存储库来配置我的网站,该存储库是 /subversion/web,目前我只有一个网站在 /subversion/web/mywebsite 中控制
我已经设置了一个提交后挂钩脚本,该脚本将站点导出到服务器上的 Web 目录中进行测试,然后我单独发布所有内容,并且它运行良好。
我想要做的是设置脚本,以便我可以控制同一个存储库中的第二个网站,但只有在我签入与该项目相关的文件时才可以导出“mywebsite”。
我这样设置是因为我可以通过 http 从多台计算机访问存储库,这样可以更轻松地创建新项目,而无需创建全新的存储库并配置 apache 来指向它和所有其余部分。
最新的 svn 在最新的 ubuntu 上运行,带有最新的 apache2
答案1
您可以使用“svnlook”命令执行此操作。
以下是提交后钩子的示例:
#!/bin/sh
REPOS="$1"
REV="$2"
/usr/bin/svnlook dirs-changed -r "$REV" "$REPOS" | egrep -q '^mywebsite'
if [ $? -eq 0 ] ; then
# publish site code
fi
您可能需要手动运行 svnlook 几次才能熟悉输出并了解如何为 grep 设置匹配模式。