According to this answer https://stackoverflow.com/a/13354944/867294 it should be fairly easy to set up git to work with mercurial "no dependencies or anything".
This doesn't seem to work all that smooth on Windows tough.
I tried to follow this guide
https://github.com/msysgit/msysgit/wiki/Guide-to-git-remote-hg
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:
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With