macOS
brew install hg-fast-exportlocal Homebrew formula metadata
安装
brew install hg-fast-exportlocal Homebrew formula metadata
概览
Fast Mercurial to Git converter
历史
hg-fast-export is a Mercurial-to-Git history converter built around Git's `git-fast-import` mechanism. It exists for projects that need to migrate Mercurial repositories into Git while preserving branches, tags, authors, commit messages, and incremental import state as far as the two systems allow.
The project began as a set of Mercurial export scripts written by Rocco Rutte with help from Git and Mercurial community channels. The README says most `hg-*` scripts are MIT-licensed, while `hg-reset.py` is GPLv2 because it copies code from Mercurial; Frej Drejhammar is listed as the maintainer.
Its core design is intentionally streaming. The README says hg-fast-export does not require a two-pass mechanism or prior repository analysis; it feeds Mercurial changesets into `git-fast-import`, relying on Mercurial's append-only storage model and linear ordering of changesets already seen by the converter.
Over time the converter accumulated migration features around the hard parts of real repositories: author maps, branch and tag maps, default-branch renaming, non-UTF-8 metadata conversion, filename encoding overrides, content filters, Mercurial largefiles handling, Git LFS strategies, plugin hooks, and reset support for restarting from an earlier import state.
hg-fast-export became one of the standard command-line answers to the Mercurial-to-Git migration problem. Its README points users to the GitHub issue tracker for support, documents Git for Windows bash as a known-working Windows environment, and notes that incremental imports are supported for tracking Mercurial repositories over time.
The package gained extra relevance during the wider migration away from Mercurial hosting toward Git hosting. The input package facts record Homebrew packaging, and the formula keeps the tool one install away for macOS and Linux users doing repository conversion work.
The basic workflow is to create an empty Git repository, run `hg-fast-export.sh -r <local-hg-repo>`, then check out the imported branch. The README stresses that remote Mercurial repositories must first be cloned locally because the Mercurial API and remote access protocol do not allow hg-fast-export to operate directly over HTTP or SSH.
Complex migrations often add an authors map with `-A`, branch and tag maps with `-B` and `-T`, a default-branch name with `-M`, encoding flags, content filters, or plugins. Large repositories can use the bundled Git LFS import path to write LFS pointers during conversion rather than doing a separate full history rewrite afterward.
For package nerds, hg-fast-export is a classic migration utility: small surface, sharp edges, and deep dependence on two VCS data models. It matters because repositories are historical artifacts; preserving their history during a VCS migration is not just a one-time command, it is a careful mapping of authors, branches, tags, encodings, large files, and naming rules.
It is also notable because it wraps Git's plumbing rather than reimplementing Git storage. That keeps the tool scriptable and packageable, but makes its limitations visible: no direct remote Mercurial import, branch-name collisions, unnamed heads, case-insensitive filesystem traps, and the need for explicit mapping files in messy histories.
安全态势
narrow executable package without higher-risk signals.
绿色 风险 · 低 置信度 · appliance
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
hg-fast-export.py | cli | 全局可执行文件 | |
hg-fast-export.sh | cli | 全局可执行文件 | |
hg-reset.py | cli | 全局可执行文件 | |
hg-reset.sh | cli | 全局可执行文件 | |
hg2git.py | cli | 全局可执行文件 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
https://github.com/frej/fast-export
安装元数据
| 软件包键 | brew:hg-fast-export |
|---|---|
| 版本 | 260405 |
| 软件包管理器 | Homebrew |
| 软件包管理器页面 | https://formulae.brew.sh/formula/hg-fast-export |
| 主页 | https://repo.or.cz/fast-export.git |
| 仓库 | https://github.com/frej/fast-export |
| 上游文档 | https://github.com/frej/fast-export#readme |
| 许可证 | GPL-2.0-or-later |
| 源码归档 | https://github.com/frej/fast-export/archive/refs/tags/v260405.tar.gz |
| 最后更新 | 2026-06-18T09:25:52+09:00 |
| Pulse | updated |
| 依赖 | mercurial, python@3.14 |
| Bottle | 可用 (于 all) |
| Homebrew post-install | 未定义 |
| 服务 | 未声明 |
注册表事实
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | hg-fast-export |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.