1

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

为了自动化一些任务,比如更新 Redmine 项目,我们使用了 subversion post-commit 钩子。

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

我试图弄清楚是否可以(如果可以,如何)为所有存储库使用单个提交后挂钩。

谢谢。

4

2 回答 2

2

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

于 2011-03-18T13:50:07.317 回答
0

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

缺点:

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

优点:

  • 当有更改时,您只会更改集成脚本。你永远不会碰到 post-commit 钩子

  • 随着时间的推移,您可能会发现自己需要在不同的项目/存储库中执行不同的操作。这对于所提出的方法是可行的。使用单一的提交后挂钩方法,您不会获得那种灵活性。最后,这就是为什么每个存储库都有提交后挂钩的真正原因。您甚至可能对某些存储库有不同的问题跟踪器,对吗?

于 2011-03-31T20:26:33.010 回答