9

我们正在使用 mercurial,现在我们想引入 precommit 钩子以保持代码干净。我们希望每个人都能以某种方式获得钩子,但我们也希望能够以某种集中的方式更新它。Mercurial 没有版本控制钩子,那么我们的替代选择是什么?你们中有人找到解决方案吗?提前致谢!

内米

4

3 回答 3

10

挂钩不会被克隆(详见“ Mercurial 中的版本控制扩展配置”),但您可以拥有一个通用hgrc文件(请参阅hgrc语法):

一行表格%include file将文件包含到当前配置文件中

然后,您可以在该中央配置文件中修改该[hooks]部分。

于 2011-02-08T13:23:13.047 回答
2

如果您可以控制他们的桌面(这是标准的企业安装),您可以将钩子放在系统范围的条目中/etc/mercurial/hgrc/etc/mercurial/hgrc.d/ourcommithook

如果您正在远程管理机器,您可以使用非常出色的puppet或构建您自己的 .rpm、.deb 或 .msi 安装程序来自动执行此操作,这些安装程序都安装了 Mercurial 并将每个人的挂钩放置在机器全局配置中。

于 2011-02-08T15:34:19.750 回答
0

看看projrc 扩展。然后,您只需让设计人员在他们的 ~/.hgrc 文件中放置少量公共行,它们将自动推送您在集中式存储库的 repo/.hg/projrc 文件中放置的任何内容。

你仍然需要一个公共的地方来放置这些钩子,但你可能已经有某种用户都挂载的共享挂载驱动器,对吧?或者您可以有一个“工具”存储库,每个人都必须在标准位置签出。

史蒂夫

于 2012-02-15T16:15:19.700 回答