在何处安装mercurial扩展,因此您无需在.hgrc中指定其路径?
文档说你可以把它们放在合适的路径上,但是不清楚它是什么。
我想安装一些扩展程序,以便可以将这些扩展程序用于该计算机的任何用户表单,而无需修改每个用户.hgrc文件。
注意:如果这很重要,我对Ubuntu,Debian和Centos的解决方案很感兴趣。
详细信息:我想要部署的扩展之一是https://bitbucket.org/facebook/remotefilelog,它是由Facebook制作的,但很可惜他们错过了在PyPi上发布它。
答案 0 :(得分:2)
首先,如果要全局安装扩展,最好的选择可能是在全局hgrc
文件中执行此操作,而不是让用户在本地执行此操作。如果您在/etc/mercurial/hgrc
中启用了扩展程序,则会为所有用户启用该扩展程序。
您还可以在<install-root>/etc/mercurial/hgrc
中启用它们,其中<install-root>
是安装Mercurial可执行文件的目录的父目录。例如,如果通过/opt/local/bin/hg
执行Mercurial,则<install-root>
为/opt/local
。然而,这更加脆弱,因为(按设计)符号链接不会被遵循。例如,如果用户将Mercurial链接到他们的~/bin/hg
,则会为他们咨询~/etc/mercurial/hgrc
。
如果您只是想让用户可以使用扩展,但默认情况下不启用它们,那么它们必须进入Python site-packages目录,与普通扩展名相同。这将是您的全局Python安装,假设Mercurial使用它;但是,您可以使用virtualenv
进行Mercurial特定的Python安装,您可以在其中安装扩展和其他内容而不会污染主要的Python安装。扩展的正常setup.py
脚本应该适当处理这两种情况(例如,evolve扩展的setup.py
会将evolve.py
放在site-packages/hgext
目录中。