Mercurial Extension Utils
项目描述
此模块包含了一组可重用的函数,这些函数在编写各种Mercurial扩展时对我很有用。
1 针对Mercurial用户
此模块对您没有直接用途。它被各种Mercurial扩展(如Keyring、Dynamic Username或Path 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路径上很困难。为了解决这个问题,使用此模块的扩展会处理额外的定位方法。
以下两种安装方法可供选择:
如果您已经安装了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进行升级。
如果您没有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/
使用那里的问题跟踪器进行错误报告和增强建议。
感谢 Octobus 和 Clever Cloud 提供此服务托管。
5 附加说明
还可以查看我编写的 Mercurial 扩展。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分布
mercurial_extension_utils-1.5.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7f53fe0ddcd8939708c8d60dfa3d07084d523abf0bd2660e5bcfcea4d1f512a3 |
|
MD5 | 04d61a4df2298313d5f54d14584bbf4a |
|
BLAKE2b-256 | 807fec3f3130dc090085262dfe9782cfbaede872ffb7feb376e3209ae84ca610 |