如何在SVN的post-commit钩子中获取分支的名称?

时间:2011-01-27 12:44:11

标签: svn

默认情况下,SVN中的后提交挂钩中有两个参数:repo和版本号的路径。 我需要到分支文件夹(或主干)才能在提交特定分支(UAT分支)时运行构建过程。

1 个答案:

答案 0 :(得分:9)

Subversion不会以任何方式对这些文件夹进行特殊处理。关于它们作为分支只是你碰巧遵循的惯例。

由于提交可以在没有任何问题的情况下同时转到多个文件夹,因此您必须使用svnlook dirs-changed -r "$REV" "$REPOS"之类的内容,并检查您感兴趣的一个或多个文件夹是否受到影响通过提交。这是我们提交后文件的片段:

if svnlook dirs-changed -r "$REV" "$REPOS" | grep -qEe '^trunk/'; then
  some-command.pl "$REPOS" "$REV" more parameters
fi