我希望项目的父目录包含该文件夹中的repo继承的hgrc文件,例如
~/work/
~/work/hgrc
~/work/project1/
~/work/project2/
~/personal/hgrc
~/personal/project1
~/personal/project2
~/personal/project3
任何正在进行的项目都应该从work/hgrc
继承,而任何个人都应该从personal/hgrc
继承。我正在考虑向~/.hgrc
添加一个脚本,克隆将在父目录中搜索任何hgrc文件,如果它们存在则会%include
,但是如果我在它之后添加一个hgrc,那就太丑了我克隆它不会被包括在内。只有5%的时间考虑,但仍然......
答案 0 :(得分:3)
推杆怎么样:
%include ../hgrc
在每个回购站的.hg / hgrc里面?您甚至可以自动执行此操作,但将其放入系统范围/etc/mercurial/hgrc
:
[hooks]
post-clone = echo '%include ../hgrc' >> .hg/hgrc
我没有测试过这个钩子。 :)
答案 1 :(得分:0)
按照@ Ry4an的建议,这是一个适合我的例子。我将其添加到我的~/.hgrc
文件中,以便它可以在任何地方使用。
[hooks]
# This hook adds "%include ../.hgrc" to .hg/hgrc if the .hgrc file exists in
# the top level. This allows one to store a set of paths for example.
# See
update = if [ -e .hgrc ] && touch .hg/hgrc \
&& ! grep -q '%include \.\./\.hgrc' .hg/hgrc; then \
echo '%include ../.hgrc' >> .hg/hgrc; \
fi
如果文件%include ../.hgrc
存在于repo的顶层,则此钩子会将.hg/hgrc
行添加到.hgrc
文件中。请注意,通过使用update
挂钩,我们绕过了post-clone
克隆挂钩的问题,必须尝试从环境变量中找出目标克隆的目录名。