2

在哪里安装 mercurial 扩展,这样您就不必在 .hgrc 中指定它们的路径?

文档说您可以将它们放在 mercurial 路径中,但不清楚它是什么。

我想安装一些扩展,以便该机器上的任何用户都可以使用它们,而无需修改每个用户的 .hgrc 文件。

注意:如果这很重要,我对 Ubuntu、Debian 和 Centos 的解决方案感兴趣。

详细信息:我确实想要部署的扩展之一是https://bitbucket.org/facebook/remotefilelog,它是由 Facebook 制作的,但令人惊讶的是,他们错过了在 PyPi 上发布它。

4

1 回答 1

2

首先,如果您想全局安装扩展,最好的选择可能是在全局hgrc文件中执行此操作,而不是让用户在本地执行此操作。如果您在 中启用扩展/etc/mercurial/hgrc,那么它将为所有用户启用。

您也可以在 中启用它们<install-root>/etc/mercurial/hgrc,其中<install-root>是安装 Mercurial 可执行文件的目录的父目录。例如,如果 Mercurial 通过 执行/opt/local/bin/hg,则<install-root>is /opt/local。但是,这更脆弱,因为(设计)没有遵循符号链接。例如,如果用户将 Mercurial 链接到他们的~/bin/hg, then~/etc/mercurial/hgrc将被咨询。

如果您只是想让用户可以使用扩展,但默认情况下不启用它们,那么它们必须进入 Python 站点包目录,与普通扩展相同。假设 Mercurial 使用它,这将是您的全局 Python 安装;但是,您可以使用virtualenv特定于 Mercurial 的 Python 安装,您可以在其中安装扩展和其他东西,而不会污染主要的 Python 安装。扩展的正常setup.py脚本应该正确处理这两种情况(例如,setup.py进化扩展的 将放在evolve.py目录中site-packages/hgext)。

于 2015-05-15T11:52:12.030 回答