Converting a Mercurial (hg) repository to Git on Windows (7)

后端 未结 6 1639
别跟我提以往
别跟我提以往 2020-12-02 11:21

I\'m really quite frustrated at this point. I have an existing hg repository that has months of coding history in it, and I want to get this into a private Github repository

相关标签:
6条回答
  • 2020-12-02 11:57

    Everything I've read about these Hg converters for Git does point out one obvious error you've made: Using Python 3!

    Those Python errors you've been getting are due to scripts like hg-git and fast-export being built using Python 2.6. Python 3 treats "print" differently, hence your errors.

    Either rewrite the scripts to work with your version or install Python 2.6.

    Make sure to add it to your PATH setting. Same goes for when you install msysGit. Be sure you choose the second option at install to add Git to your path.

    You also need Mercurial For Python, available at TortoiseHG's thg-winbuild project:

    https://bitbucket.org/tortoisehg/thg-winbuild/downloads

    The file will be named 'mercurial-2.2.2.win-amd64-py2.6.exe' for 64-bit Windows and 'mercurial-2.2.2.win32-py2.6.exe' for 32-bit. While you're at it, get the companion Mercurial 2.2.2 installer, just in case.

    Although you stated you don't wish to install yet another VCS software, using any of these Hg converters requires Mercurial to also be installed.

    Another pitfall to look out for is these converters may not work with the latest versions of Mercurial. You might need to experiment a bit with older releases to find one that works well with the scripts.

    Be sure to carefully read through the tutorials and the Readme files for whichever converter you settle upon using. It seems a lot of your grief and trouble stems from having impatiently jumped into the deep end after only skimming the documentation.

    There are patches available that add Mercurial support to Git and msysGit, but you'll need to be comfortable with patching and compiling from source if you wish to follow that route.

    0 讨论(0)
  • 2020-12-02 12:02

    There is a lot of conflicting information about how to convert Mercurial repositories to Git on Windows. It really is pretty easy and only requires TortoiseHg and Git to be installed.

    Preparation

    Enable hg-git by adding the following to your Mercurial config file (%Userprofile%\mercurial.ini):

    [extensions]
    hggit = 
    hgext.bookmarks =
    
    [git]
    intree = True
    

    Conversion

    Navigate to the repository directory (that contains the .hg subdirectory) on the command line and execute the following commands:

    hg bookmark -r default master
    hg gexport --debug
    git config --bool core.bare false
    git reset HEAD -- .
    

    More information

    You can find a detailed description of these steps in my blog article on the subject.

    0 讨论(0)
  • 2020-12-02 12:05

    It might seem silly (or a solution for the desperate...) but I think that Bazaar has good support for both Hg and Git repositories, and it works well on Windows.
    So if all else fails, maybe you can use bzr-hg and bzr-git to make the conversion...

    0 讨论(0)
  • 2020-12-02 12:14
    1. Install Cygwin (with python, hg, git)
    2. Install git-hg
    3. run git-hg clone ...url...

    Or tell me what the url is for this hg repo of yours, and I can convert it for you.

    0 讨论(0)
  • 2020-12-02 12:14

    If the original Mercurial repo is available on the web, and if you don't mind using GitHub to do this, converting from Mercurial to Git is now trivially easy:

    1. Log in to GitHub.
    2. Click the + in the upper-right.
    3. Select Import repository.
    4. Supply the Mercurial repository's URL, a name for it under your account, and whether it'll be public or private.
    5. Click Begin import and wait.

    You don't even need to stay on the page after that. After a while, GitHub will notify you by e-mail that the import is finished.

    0 讨论(0)
  • 2020-12-02 12:18

    Have you considered installing msysgit? The git bash shell it gives you should be able to run .sh files.

    0 讨论(0)
提交回复
热议问题