← 返回
未分类

Mercurial to Git Converter

Convert Mercurial (hg) repositories to Git. Use when migrating from Mercurial to Git, converting hg repos to git format, preserving history and branches duri...
poeticflowerhome
未分类 clawhub v1.0.0 100000 Key: 无需
★ 0
Stars
📥 405
下载
💾 0
安装

概述

Mercurial to Git Converter

Convert Mercurial repositories to Git while preserving full history, branches, and tags.

Prerequisites

  • hg (Mercurial) installed
  • git installed
  • hg-fast-export (auto-installed if missing)

Quick Start

# Basic conversion
hg-to-git.sh /path/to/hg-repo /path/to/git-repo

# Large repository with progress
hg-to-git-large.sh /path/to/hg-repo /path/to/git-repo

# Extract authors first (recommended)
hg-authors.sh /path/to/hg-repo authors.map
# Edit authors.map, then run conversion

Scripts

scripts/hg-to-git.sh

Standard conversion for most repositories.

Usage:

hg-to-git.sh <hg-repo-path> [git-repo-path]

Features:

  • Auto-installs hg-fast-export if missing
  • Preserves all branches and tags
  • Handles author mapping

scripts/hg-to-git-large.sh

Optimized for large repositories with progress feedback.

Usage:

hg-to-git-large.sh <hg-repo-path> [git-repo-path]

Features:

  • Shows progress dots during conversion
  • Displays revision count upfront
  • Summarizes results at end

scripts/hg-authors.sh

Extract and map Mercurial authors to Git format.

Usage:

hg-authors.sh <hg-repo-path> [output-file]

Output format:

"Mercurial Author"="Git Author <email>"

Edit the output file to fix email addresses before conversion.

Workflow

  1. Extract authors (optional but recommended):

```bash

hg-authors.sh /path/to/hg-repo authors.map

```

  1. Edit author map - Update email addresses in authors.map
  1. Run conversion:

```bash

hg-to-git.sh /path/to/hg-repo /path/to/git-repo

```

  1. Verify:

```bash

cd /path/to/git-repo

git log --oneline -10

git branch -a

git tag -l

```

Troubleshooting

hg-fast-export not found

The scripts auto-install from GitHub if not present in PATH.

Author mapping issues

Use hg-authors.sh to generate a mapping file, edit it, then pass to fast-export with -A authors.map.

Large repositories

Use hg-to-git-large.sh for better progress visibility.

Branches not converted

Run git branch -a in the new repo. Remote branches may need to be checked out locally.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-03 11:09 安全

安全检测

暂无安全检测报告