如何在subversion挂钩中为多个存储库添加单个post-commit

时间:2011-03-18 05:07:24

标签: svn hook redmine post-commit

我们有一个颠覆设置,如/ var / svn / repoA,/ var / svn / repoB,/ var / svn / repoC等。我们使用Redmine进行项目管理。

要自动完成某些任务,例如更新Redmine项目,我们正在使用subversion post-commit hook。

由于我们有多个项目的多个存储库,当我们需要为redmine中的所有项目实现一个公共钩子时,我们编辑多个存储库中的所有post-commit钩子。肯定这会变得烦人和有问题。

我试图弄清楚是否有可能(如果是这样,如何)对所有存储库使用单个post-commit挂钩。

感谢。

2 个答案:

答案 0 :(得分:2)

使用指向单个提交后挂钩的符号链接

答案 1 :(得分:0)

我们遇到了类似的问题,解决方案几乎和单个提交后挂钩脚本一样好。我写了一个单一的脚本来完成所有Redmine集成的东西。此脚本将Redmine中的项目标识符作为输入。我们现在要做的就是从每个存储库的post-commit钩子脚本中调用集成脚本,并传递Redmine项目标识符。所以,是的,每个存储库都必须有自己的提交后挂钩,但只是对带有参数的另一个脚本的单行调用。

骗局:

  • 每个存储库仍然会有一个post-commit挂钩。但是,它只是一个单行脚本,将Redmine项目标识符作为参数传递。这不会一直改变吗?

优点:

  • 如果有更改,您只会更改集成脚本。你永远不会触及post-commit hooks

  • 随着时间的推移,您可能会发现自己需要在不同的项目/存储库中执行不同的操作。这对于所提出的方法是可行的。使用单个post-commit钩子方法,您无法获得这种灵活性。最后,这就是为什么你有每个存储库的post-commit钩子。您甚至可能为某个存储库设置了不同的问题跟踪器,对吧?