我们正在使用mercurial,现在我们想引入precommit钩子来保持代码干净。我们希望每个人以某种方式得到钩子,但我们也希望能够以某种集中的方式更新它。 Mercurial没有版本控制钩子,那么我们的替代选择是什么呢? 你们有没有找到解决方案? 提前谢谢!
Nemmi
答案 0 :(得分:10)
未克隆挂钩(详见“Version-controlled extension configuration in Mercurial”),但您可以使用常见的hgrc
文件(请参阅hgrc
Syntax):
中
%include file
形式的行将文件包含到当前配置文件
在该中央配置文件中,您可以修改[hooks]
部分。
答案 1 :(得分:2)
如果您可以控制他们的桌面(这是标准的企业安装),您可以将钩子放在系统范围的条目/etc/mercurial/hgrc
或/etc/mercurial/hgrc.d/ourcommithook
如果您正在远程管理这些计算机,您可以使用非常优秀的puppet或通过构建您自己的.rpm,.deb或.msi安装程序来自动执行此操作,这些安装程序都安装了Mercurial并将所有人挂钩在机器全局配置中。
答案 2 :(得分:0)
查看projrc extension。然后,您只需让设计人员在他们的〜/ .hgrc文件中放入少量公共行,并且无论您放入集中式repo的repo / .hg / projrc文件中,它们都会自动被推送。
你仍然需要一个共同的位置来放置这些钩子但是你可能已经拥有某种用户全部安装的共享安装驱动器,对吧?或者你可以拥有一个“工具”存储库,每个人都必须在标准位置检出。
史蒂夫