似乎更新后挂钩适用于机器上的整个 SVN 设置,但我希望为每个项目设置单独的挂钩。据我所知,您在设置中设置了挂钩,这是全局的。
关于如何为每个项目完成更新后挂钩的任何想法?
似乎更新后挂钩适用于机器上的整个 SVN 设置,但我希望为每个项目设置单独的挂钩。据我所知,您在设置中设置了挂钩,这是全局的。
关于如何为每个项目完成更新后挂钩的任何想法?
它真的很简单 - 将代码(项目路径的正则表达式)放在你的钩子中,如果它不是你想要钩子的项目,它什么都不做。
如果您需要知道更新的工作副本的存储库路径,请使用 svninfo。
post-commit 钩子的第一个参数是存储库的路径,这意味着如前所述,使用正则表达式过滤掉您喜欢做的项目。
我不久前遇到了这个问题,但反过来;我将钩子应用到项目存储库,但其中一些是相同的,冗余应用它们似乎效率低下。事实上,在 SVN 中创建项目的做法并不是好的做法:每个项目在根目录中都有一个存储库(根目录不能应用挂钩。)
就我而言,解决方法是拥有一个中央存储库,其中项目树落入其中,这意味着我可以将我的钩子应用到,比如说,Client
repo 并让它级联,以便它应用于该根目录下的所有项目。这变得更加有效,因为我可以分割项目并应用每个 repo 类型的钩子而没有冗余。
在您的情况下,我认为您想要的是相反的方式,因此本质上每个项目都需要成为一个存储库,而不仅仅是根存储库的一部分。