Automic VaultAutomic Vault

brew

Install hg-fast-export with Homebrew

Fast Mercurial to Git converter. Version 260405 via Homebrew; verified 2026-06-18.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install hg-fast-export

local Homebrew formula metadata

overview

Package summary

Fast Mercurial to Git converter

Commands and aliases

  • hg-fast-export.py
  • hg-fast-export.sh
  • hg-reset.py
  • hg-reset.sh
  • hg2git.py

history

Project history and usage

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.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2000s: The project originated as Mercurial export scripts by Rocco Rutte, with community input from Git and Mercurial channels.
  • 2010s: The tool became a common path for Mercurial-to-Git conversions as Git hosting grew dominant.
  • 2017: Older author-map syntax was kept behind `--mappings-are-raw` for compatibility with pre-v171002 behavior.
  • 2020s: The project documented Python 3.7+ and Mercurial 5.2+ requirements and added migration features for largefiles, LFS, and plugins.
  • Package-manager era: Homebrew packages the converter as `hg-fast-export` with wrapper scripts such as `hg-fast-export.sh` and `hg-reset.sh`.

Related projects

  • hg-fast-export is related to Mercurial, Git, `git-fast-import`, Git LFS, hg-git, git-remote-hg, repository-host migration tooling, and batch converters such as Chris J Billington's `hg-export-tool`.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.
  • Installs with 2 runtime dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
hg-fast-export.pycliglobal executable
hg-fast-export.shcliglobal executable
hg-reset.pycliglobal executable
hg-reset.shcliglobal executable
hg2git.pycliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version260405
manager updated2026-06-18
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/frej/fast-export

install metadata

Package metadata

Package keybrew:hg-fast-export
Version260405
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/hg-fast-export
Homepagehttps://repo.or.cz/fast-export.git
Repositoryhttps://github.com/frej/fast-export
Upstream docshttps://github.com/frej/fast-export#readme
LicenseGPL-2.0-or-later
Source archivehttps://github.com/frej/fast-export/archive/refs/tags/v260405.tar.gz
Last updated2026-06-18T09:25:52+09:00
Pulseupdated
Dependenciesmercurial, python@3.14
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namehg-fast-export
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • package relationship graph
  • package version freshness
  • package-page enrichment