That makes me think dulwich is not
installed correctly, or not in the
path.
You’re absolutely right. Mercurial binary distributions for Windows are ‘frozen’ – they use the Python code and interpreter bundled with them and therefore independent of packages installed in system PYTHONPATH. When you specify path to hggit extension in Mercurial.ini, hg tries to import it using direct path, but dulwich library is not imported explicitly by hg and doesn’t bundled with its library, so the import fails.
It is possible to add both Dulwich and HgGit into library.zip that is installed along with hg.exe, but for me the best way is to install everything from source including Mercurial and execute commands using .bat files installed into \Python\Scripts. In this case you will need to:
- Install Mercurial from source. This builds “pure” version, because Windows users usually don’t have Visual Studio or alternative compiler for compiling C speedups.
-
Install Dulwich – I’d use latest trunk snapshot for both Git and Dulwich.
python setup.py –pure install
-
Install latest HgGit snapshot
python setup.py install
-
Edit Mercurial.ini to enable
hggit = - Launch Mercurial using your \Python\Scripts\hg.bat