Mercurial All Dirs 扩展
项目描述
在许多存储库中执行相同的Mercurial命令。
1 示例
假设您有Mercurial存储库在~/src/libs/acme、~/src/libs/net/aaa和~/src/libs/net/bbb中。那么
cd ~/src/libs hg alldirs status # … shows status in all three repos hg alldirs heads -t # … and heads hg alldirs log -l 2 # … and recent commit
甚至
hg alldirs commit -m "Documentation updates" # Commit in all three repos hg alldirs push bb # … and pushes them all
相对文件名是相对于给定的存储库根目录解析的(在实际上执行命令之前,chdirs会切换到每个存储库)
hg alldirs commit -m "Version update" setup.py src/version.py
请注意,alldirs不需要任何类型的父存储库。
如果您已经位于某个存储库内部,则命令将在此存储库上执行,因此alld并不重要
cd ~/src/libs/net/aaa hg status hg alld status # … Both do the same
2 故障处理
如果给定的命令未知(hg alldirs badcommand),或者获得了无效的选项(hg alldirs log -s),则错误会立即报告,并停止处理。
如果给定命令在执行过程中失败(例如 hg alldirs pull nosuchalias),则 alldirs 将在所有仓库中执行该命令(不会停止)。完成后,它将总结出命令失败的仓库列表。
在这两种情况下,整个命令都返回表示错误的退出状态。
3 安装
3.1 Linux/Unix(来自PyPI)
如果您有正常工作的 pip 或 easy_install
pip install --user mercurial_all_dirs
或者可能
sudo pip install mercurial_all_dirs
(或者用 easy_install 代替 pip)。然后通过以下方式激活
[extensions] mercurial_all_dirs =
要升级,请使用 --upgrade 选项重复相同的命令,例如
pip install --user --upgrade mercurial_all_dirs
3.2 Linux/Unix(来自源代码)
如果您没有 pip,或者希望更密切地跟踪开发
克隆这两个仓库,并将它们放入同一目录中,例如 mercurial_extension_utils,例如
cd ~/sources hg clone https://foss.heptapod.net/mercurial/mercurial-extension_utils/ hg clone https://foss.heptapod.net/mercurial/mercurial-all_dirs/
更新到最新标签
通过以下方式激活
[extensions] mercurial_all_dirs = ~/sources/mercurial-all_dirs/mercurial_all_dirs.py
要升级,请拉取并更新。
有关此类安装的更详细描述,请参阅 mercurial_extension_utils 文档。
3.3 Windows
如果您已安装任何 Python,您可以使用 pip 进行安装
pip install mercurial_all_dirs
不过,由于 Mercurial(无论是从 TortoiseHg 取得,还是自己的包)使用它自己的捆绑 Python,您必须通过指定路径来激活
[extensions] mercurial_all_dirs = C:/Python27/Lib/site-packages/mercurial_all_dirs.py ;; Or wherever pip installed it
要升级到新版本
pip --upgrade mercurial_all_dirs
如果您没有 Python,克隆仓库
cd c:\hgplugins hg clone https://foss.heptapod.net/mercurial/mercurial-extension_utils/ hg clone https://foss.heptapod.net/mercurial/mercurial-all_dirs/
更新到标记版本,并通过路径激活
[extensions] mercurial_all_dirs = C:/hgplugins/mercurial-all_dirs/mercurial_all_dirs.py ;; Or wherever you cloned
有关 Windows 安装的更多详细信息,请参阅 mercurial_extension_utils 文档。
5 历史
请参阅 HISTORY.rst
6 存储库、错误报告、增强建议
开发在 HeptaPod 上进行跟踪,请参阅 https://foss.heptapod.net/mercurial/mercurial-all_dirs/
在那里使用问题跟踪器进行错误报告和增强建议。
感谢 Octobus 和 Clever Cloud 提供此托管服务。
7 测试
可以通过以下方式运行测试
cram -v tests/*.t
(针对当前 Mercurial)或
tox
(针对各种版本)。
8 附加说明
有关此扩展的信息也可在 Mercurial Wiki 上找到: http://mercurial.selenic.com/wiki/AllDirsExtension
请参阅我写的其他 Mercurial 扩展:其他 Mercurial 扩展。
项目详情
mercurial_all_dirs-1.1.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c6b7d1f6867f5d10e46fbef2d4d5ad66bca8e55f1617993daa2750485c8d07b3 |
|
MD5 | d2436ada565236154269e16609512442 |
|
BLAKE2b-256 | c57636a2101dba4940d648c26c3ebc575095b4d8ab97159893553bf32b0d5d28 |