如何将 git 存储库转换为 mercurial?

我一直在开发一个 java 应用程序,使用 git 作为原始码储存库。我想与其他 Java 开发人员分享这个项目,hg 似乎是他们最常用的工具。

我的问题是如何将 git 存储库转换为 hg?

如果我尝试谷歌“转换 git 到 hg”和每个搜索点击是关于从 hg 转换到 git。我也用 乌龟

29976 次浏览

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?

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

The hg convert utility isn't on by default after installation. In order to set it as such add the following to your .hgrc file.

[extensions]
hgext.convert=

If you're using TortoiseHg on Windows then this file resides in your home directory as mercurial.ini. After this setting change you will be able to use the hg convert utility.

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.

You could just not convert it at all. Just use the Hg-Git plugin! No one will know the difference.

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.

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

Just:

hg init ../hgrepo
git push hg::$PWD/../hgrepo

Hg-Git Plugin or if u use for windows or migration from one to another visit here 2[Windows GIT]

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"