9
我正在尝试使用Mercurial的常见扩展名创建共享hgrc文件,因此我的同事可以获得一致的体验并找到有用的工具。不过,启用Mercurial不附带的扩展功能会导致问题。Mercurial .hgrc文件中的版本库相对路径
我主要的回购协议的hgrc点源控制,共享.hgrc文件:
\ Repo.hg \ hgrc
%include ..\tools\hg\dev.hgrc
共享dev.hgrc然后能够扩展我们保持源-controlled:
\回购\工具\汞柱\ 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
我想引用版本库的根不依靠任何东西,除了相对路径结构。
我查看了manual,但没有看到任何存储库相对路径选项。
我们公司做了非常类似的事情。不幸的是,我们没有找到解决方案,只是解决了这个问题。每个人都将我们的hgtools repo克隆到同一位置$ HOME/.hg-scripts/hgtools,然后他们将这个文件包含在他们的$ HOME/.hgrc文件中。共享hgrc中的所有路径都是$ HOME/.hg-scripts/hgtools/...形式的完整路径它对我们很有用,但它不是很优雅。 – 2011-04-18 17:16:51
谢谢马克。很高兴知道我们并不孤单。 – jasonrclark 2011-04-18 19:31:39
如果你不写信给“真正的”Mercurial社区,你们永远不会得到这些东西:[email protected] - 虽然我们是一些试图在这里提供帮助的开发者,但大多数Mercurial开发者只阅读邮件列表。 (我认为我们应该有一种方法来指定相对于存储库的路径,它会启用很多很好的方法来使用'%include'指令。) – 2011-04-19 17:55:03