This doesn’t seem to work all that smooth on Windows tough.
I tried to follow this guide
After fixing the makeFile to work on my system and building git i couldn’t call git-remote-hg because it complained it couldn’t find the python interpreter, all tough it’s configured correctly.
So i manually called it with
C:/Python27/python.exe git-remote-hg clone C:/TestMercurialRepo
This is now giving me the following error.
Traceback (most recent call last): File "git-remote-hg", line 99, in <module> sys.exit(HgRemoteHelper().main(sys.argv)) File "d:\development\msysgit\git\git_remote_helpers\helper.py", line 196, in m ain repo = self.get_repo(alias, url) File "git-remote-hg", line 33, in get_repo if repo.capable('branchmap'): File "c:\Python27\lib\site-packages\mercurial\repoview.py", line 205, in __get attr__ return getattr(self._unfilteredrepo, attr) AttributeError: 'mqrepo' object has no attribute 'capable'
How can i fix this ?
If there is a pre build version anywhere then that would be super awesome because i feel like i’m doing way to much to get this to work.
I got this to work today on Windows. Basically, since the msysgit distributions have no Python support, I took Felipe’s git-remote-hg.py file and used py2exe to package it up as an executable. Afterwards, I put all of the py2exe output into the ‘libexec’ folder under my Git installation directory, and it works.
For it to work, you need:
- Python 2.7
- The Mercurial Python module (windows installers here)
- py2exe (windows installers here)
- Felipe’s git-remote-hg python script (save raw to file here)
Create a file named setup.py that contains:
from distutils.core import setup import py2exe setup(console=['git-remote-hg.py'])
Save the file to your file system and run the following command:
python setup.py py2exe --include mercurial
py2exe will produce a folder called ‘dist’ that contains the output. Copy the contents of that folder into the libexec\git-core folder under your main Git installation folder (e.g., C:\Program Files(x86)\Git).
Now, you should be able to clone from a Mercurial repo using the Git client.
(Note: I wrote these steps in a bit of a hurry, so please post back if I’ve left out anything).