10

我正在尝试为 Mercurial 创建一个具有通用扩展名的共享 hgrc 文件,以便我的同事可以获得一致的体验并找到有用的工具。但是,启用不随 Mercurial 提供的扩展会导致问题。

我的主要 repo 的 hgrc 指向一个源代码控制的共享 .hgrc 文件:

\repo.hg\hgrc

%include ..\tools\hg\dev.hgrc

共享的 dev.hgrc 然后启用我们保持源代码控制的扩展:

\回购\工具\hg\dev.hgrc

[extensions]
hgshelve=tools\hg\hgshelve\hgshelve.py
fold=tools\hg\hgfold\fold.py

问题是只有当 hg 从根 Repo 目录运行时才能找到这些扩展。从子目录运行它会出现错误:

E:\Repo\src>hg
*** failed to import extension hgshelve from tools\hg\hgshelve\hgshelve.py: [Errno 2] No such file or directory
*** failed to import extension fold from tools\hg\hgfold\fold.py: [Errno 2] No such file or directory

我想引用存储库的根而不依赖于相对路径结构以外的任何东西。

我查看了手册,但没有看到任何存储库相对路径选项。

4

1 回答 1

0

这不是您要查找的内容,但如果您的系统是 puppet、chef 或程序包控制的,您可以轻松创建一个程序包,将文件放入 /etc/mercurial/hgrc.d/ 中的任何内容都会为所有用户执行每次运行。您可以将扩展名 .py 文件和 hgrc 片段放在那里以启用它们。

于 2011-05-04T02:50:00.703 回答