svn hook 脚本 - 导出刚刚签入的分支

svn hook 脚本 - 导出刚刚签入的分支

我已经建立了一个存储库来配置我的网站,该存储库是 /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 设置匹配模式。

相关内容