svn钩子脚本 – 导出分支签入

我build立了一个资源库来configuration我的网站,版本库是/ subversion / web,目前我只有一个网站在/ subversion / web / mywebsite

我已经build立了一个post-commit钩子脚本,它将网站导出到服务器上的Web目录中进行testing,然后再单独发布,并且工作正常。

我想要做的是设置脚本,以便我可以控制同一个存储库中的第二个网站,但只有在检入与该项目相关的文件时才会导出“mywebsite”。

我这样设置它是因为我通过http从许多计算机访问存储库,这使得创build新项目变得更加容易,而无需创build一个全新的存储库,并将apacheconfiguration为指向它以及所有其余部分。

最新的svn在最新的ubuntu上运行最新的apache2

你可以使用“svnlook”命令来做到这一点。

这是一个post-commit hook的例子:

#!/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的匹配模式。