2010-08-12 31 views
8

我目前正在寻找将现有的SVN仓库转换为git,然后在允许推送前使用Reviewboard进行评论。我最近才开始使用git,而且远离专家,但是我想要做的是有一个pre-push hook,它运行“post-review”以将更改提交到ReviewBoard。我有一个可以做到这一点的挂钩工作,但它看起来像不会自动传播到存储库的克隆。阅读它听起来似乎没有做到这一点,以防止强制执行用户的可执行代码,但是这是一个内部唯一的存储库,我们希望执行这个和其他一些策略。有没有办法强制git将钩子传播到远程克隆,或者我们是否需要指示我们的开发人员运行将这些钩子放置在本地回购站的东西?Git挂钩 - 从远程存储库传播?

感谢 - 亚当

+0

请访问http:/ /stackoverflow.com/questions/3462955/putting-git-hooks-into-repository - 这回答了你的一些问题。 – bstpierre 2010-08-12 20:00:05

回答

7

Git有没有内置的克隆,可选或以其他方式之间转移挂钩的支持。它具有可以修改或添加到新存储库的默认模板,但是这些模板是从本地文件系统(或网络文件系统,视情况而定)提取的。您可能需要对系统进行复制,或者将钩子本身放入存储库,并要求开发人员正确配置其克隆。

当推送发生时,但在更新ref之前,也可以在中央裸仓库上运行所需的钩子。这可以通过预接收或更新挂钩完成。这是否可以接受取决于这个钩子的实际功能,这从你的帖子不明确。

阅读http://www.reviewboard.org/docs/manual/dev/faq/这听起来像也许你应该鼓励你的开发者使用主题分支。一旦更改获得批准,它们可以合并到发布分支中。你可以有一个更新钩子,它只允许特权用户的特定分支或任何其他标准。这也可以使用Gitolite,您可以。如果你不承诺Reviewboard在http://progit.org/book/ch4-8.html

了解,你可能会考虑http://code.google.com/p/gerrit/这是使用Git更好地整合完成,明确支持这个工作流程