Windows 10でMercurialリポジトリをGitに変換する
エンコーディングに問題がない場合-TortoiseHG Hg-Git拡張機能を使用してください
md new-repo && cd new-repo
git init --bare .git
cd ..\old-mercurial-repo
hg bookmark -r default master
hg push ..\new-repo
cd ..\new-repo
git config --bool core.bare false
エンコーディングに問題がある場合-高速エクスポートを使用してください
Bashをインストールする
管理者としてPowerShellを開いて実行します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Microsoft StoreからUbuntu 16.04 LTSをインストールする
Bashを開いて実行する
Mercurialをインストールする
sudo -s
apt-get update
apt install mercurial
高速エクスポートv180317を取得(現時点では、180317以降のバージョンは正しく機能しません)
cd /mnt/c/path_to_work_folder
git clone https://github.com/frej/fast-export.git
cd fast-export
git checkout tags/v180317
cd ..
リポジトリを変換する
git init new-repo && cd new-repo
git config core.ignoreCase false && git config core.quotepath off
../fast-export/hg-fast-export.sh -r ../path_to_mercurial_repo/ --fe cp1251
git checkout master
エンコーディングオプション:
-f
エンコーディング、 -f cp1251
--fe
のようなファイル名エンコーディング --fe cp1251