How do I convert a git repository to mercurial?

后端 未结 9 1083
隐瞒了意图╮
隐瞒了意图╮ 2021-01-29 20:31

I\'ve been developing a java application using git as source code repository. I\'d like to share the project with other java developers and hg seems to be most used by them.

相关标签:
9条回答
  • 2021-01-29 20:59

    The convert extension may work for you, but if it doesn't, you might want to check out tailor which is a general purpose tool for converting among the various distributed SCMs.

    0 讨论(0)
  • 2021-01-29 21:03

    New player in town: git-remote-hg. It provides native bridging support in git.

    Just:

    hg init ../hgrepo
    git push hg::$PWD/../hgrepo
    
    0 讨论(0)
  • 2021-01-29 21:04

    Distributed revision control with Mercurial states:

    The revision control tools supported by convert are as follows:

    • Subversion
    • CVS
    • Git
    • Darcs

    So maybe you don’t need any additional tool?

    0 讨论(0)
  • 2021-01-29 21:12

    You may want to look at the http://hg-git.github.com/ utility: a Git plugin for Mercurial

    This plugin is originally developped by the guys of GitHub, and allows the convert from git<->mercurial losslessly. In theory, you could even be able to clone the hg repository.

    0 讨论(0)
  • 2021-01-29 21:15

    By using the Mercurial Convert extension

    Add the following lines to your .hgrc or to enable the extension :

    [extensions]
    hgext.convert=
    

    And typing a

    cd src
    hg convert --datesort . dst
    

    (even though it can lead to some issues...)

    Note:: metrix reports that this might not work:

         hg convert --datesort src dst
    

    Note: there happens to be a bug with hg convert if you perform this command from a directory other than the source directory.
    You will get the following error:

    abort: cannot read tags from git-repo4/.git
    

    Confirmed with git 1.7.9 and Mercurial 2.6.2 on Windows XP

    0 讨论(0)
  • 2021-01-29 21:15

    In the Git folder with all my Git repositories I created the Git2Hg.cmd file with the following content:

    set PATH=%PATH%;C:\Program Files\TortoiseHg
    set PATH=%PATH%;C:\Program Files\Git\bin
    hg convert %1
    

    Now I can convert a Git repository to Hg by typing this in a CMD:

    Git2Hg "Folder Name"
    
    0 讨论(0)
提交回复
热议问题