跳转到主要内容

Mercurial Extension Utils

项目描述

此模块包含了一组可重用的函数,这些函数在编写各种Mercurial扩展时对我很有用。

1 针对Mercurial用户

此模块对您没有直接用途。它被各种Mercurial扩展(如KeyringDynamic UsernamePath Pattern)内部使用。

在大多数情况下,当您安装这些扩展之一时,它将自动安装。有关更复杂情况下的安装说明(特别是关于Windows上的安装信息),请参见下文。

1.1 在Linux/Unix上安装

在典型情况下,mercurial_extension_utils应该会自动安装,无需您的关注,通过如pip install mercurial_dynamic_username之类的命令。

如果由于某种原因没有正常工作,请使用以下命令从PyPi安装:

pip install --user mercurial_extension_utils

或全局安装:

sudo pip install mercurial_extension_utils

如果您没有pip,请尝试:

sudo easy_install mercurial_extension_utils

使用添加了--upgrade选项的相同命令升级到新版本,例如:

pip install --user --upgrade mercurial_extension_utils

如果您既没有pip,也没有easy_install,请遵循为开发安装部分的说明。

1.2 在Windows上安装

Windows Mercurial发行版(包括最受欢迎的 - 以及当之无愧的 - TortoiseHg)不使用系统Python(实际上,可能在不安装Python的情况下使用Mercurial),将扩展安装到捆绑的Python路径上很困难。为了解决这个问题,使用此模块的扩展会处理额外的定位方法。

以下两种安装方法可供选择:

  1. 如果您已经安装了Python,您仍然可以从PyPi安装此模块以及使用它的扩展。例如:

    pip install mercurial_extension_utils
    pip install mercurial_dynamic_username

    这不会(目前)使模块对您的Mercurial可见,但您将在计算机上安装所有必要的文件。

    然后通过指定其路径来激活负责的扩展,例如在您的Mercurial.ini中写入:

    [extensions]
    mercurial_dynamic_username = C:/Python27/Lib/site-packages/mercurial_dynamic_username.py

    通过添加到其选项中的--upgrade来使用pip进行升级。

  2. 如果您没有Python,请克隆扩展的存储库和mercurial_extension_utils,并将它们放在同一位置,例如:

    cd c:\MercurialPlugins
    hg clone https://foss.heptapod.net/mercurial/mercurial-extension_utils/
    hg clone https://foss.heptapod.net/mercurial/mercurial-dynamic_username/

    更新存储库到最新标记版本(未标记的版本可能不稳定或无法工作)。

    通过指定其路径来激活实际的扩展,例如通过在Mercurial.ini中写入:

    [extensions]
    mercurial_dynamic_username = C:/MercurialPlugins/mercurial-dynamic_username/mercurial_dynamic_username.py

    要升级到新版本,只需拉取并更新到较新的标记。

1.3 为开发安装(或当其他所有方法都失败时)

在Windows上使用上一章的第二种变体(通过克隆并按路径激活)。

在Linux/Unix上执行相同的操作。克隆所有必要的存储库,例如:

cd ~/sources/
hg clone https://foss.heptapod.net/mercurial/mercurial-extension_utils/
hg clone https://foss.heptapod.net/mercurial/mercurial-dynamic_username/

然后通过在每个存储库中重复执行来使它对Python可见

pip install --user -e .

或通过完整路径激活扩展,在~/.hgrc中写入类似以下内容:

[extensions]
mercurial_dynamic_username = ~/sources/mercurial-dynamic_username/mercurial_dynamic_username.py

2 针对Mercurial扩展开发者

2.1 可用的API

提供的大部分函数是与配置处理或位置匹配相关的微型实用工具。它们要么扩展Mercurial API(例如迭代匹配正则表达式的配置项的函数),要么支持在扩展编写过程中重复发生的任务(例如将存储库根与配置中定义的路径集进行匹配)。

库的明显部分处理Mercurial版本之间的各种不兼容性。

有关详细信息,请参阅文档字符串。

2.2 测试

可以通过以下方式运行单元测试:

python -m unittest discover tests/

(针对当前版本)或

nox

(针对各种Mercurial和Python版本)。

3 历史

请参阅 HISTORY.rst

4 仓库、错误报告、增强建议

开发跟踪在 HeptaPod 上,请参阅 https://foss.heptapod.net/mercurial/mercurial-extension_utils/

使用那里的问题跟踪器进行错误报告和增强建议。

感谢 OctobusClever Cloud 提供此服务托管。

5 附加说明

还可以查看我编写的 Mercurial 扩展

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

mercurial_extension_utils-1.5.3.tar.gz (28.6 kB 查看哈希值)

上传时间

支持