Convert a Mercurial Repository to Git
Windows 7 64-bit Solution
How to convert a Mercurial repo into a Git repo.
This is one of the most asinine sequences of events I have ever had to figure out, but I am not a Python guy at all.
My Start Environment
- Visual Studio 2010/2012
- TortoiseHg 2.8.2; Includes Mercurial 2.6.3 & Python 2.7.3
- Git 1.8.3
Errors I Got Along the Way
- Could not find Python
- Could not find Mercurial module in Python
- Easy_Install does not exists
- Could not compile Mercurial module
What I Did
- Had to install Python27 stand alone (http://www.python.org/)
- Make sure to put path in Path in Environment Variables
- Had to install Easy_Install (http://sourceforge.net/projects/pywin32/files/)
- Make sure the Python Scripts path is also in Environment Variables
- And get this... Had to go to MSDN and download full version of Visual Studio 2008 and only install C++ with the 64-bit option turned on (so Easy_Install could compile the Mercurial module for Python), but I could not get it to work with the Express edition because could not find the 64-bit option.
Steps
- In Command Console (after everything is installed)
- C:\easy_install mercurial
(If you installed everything you should see it download and compile the Mercurial module)
- In Git Console
- Follow steps by @mauvis-ledford and @benno (Thanks guys!!!)
Did the following on my Mac to successfully export a Mercurial repo to Git (with full branches):
mkdir myrepo; cd myrepo;
git clone git://repo.or.cz/fast-export.git .
rm -rf .git .gitignore
git init
./hg-fast-export.sh -r ../path/to/local/hg/repo
git clean -f # remove fast-export files