如何将git存储库转换为mercurial?
我一直在开发一个使用git作为源代码库的Java应用程序。 我想与其他java开发人员分享这个项目,而且似乎是他们最常使用的。
我的问题是如何将git仓库转换为hg?
如果我尝试使用谷歌search“将git转换为hg”,并且每次search都是从hg转换为git。 我也使用TortoiseHg 。
安装后,默认情况下hg convert
实用程序没有打开。 为了将其设置为您的.hgrc
文件添加以下内容。
[extensions] hgext.convert=
如果你在Windows上使用TortoiseHg ,那么这个文件作为mercurial.ini
驻留在你的主目录下。 更改设置后,您将可以使用hg convert
实用程序。
通过使用Mercurial Convert扩展
将下列行添加到
.hgrc
或启用扩展:
[extensions] hgext.convert=
并input一个
cd src hg convert --datesort . dst
(即使它可能导致一些问题 …)
注:: metrix报告,这可能无法正常工作:
hg convert --datesort src dst
注意:如果您从源目录以外的目录执行此命令,则会发生
hg convert
错误。
你会得到以下错误:
abort: cannot read tags from git-repo4/.git
在Windows XP上用git 1.7.9和Mercurial 2.6.2确认
您可能想要查看http://hg-git.github.com/实用程序:Mercurial的Git插件;
这个插件最初是由GitHub的人开发的,并允许从git < – > mercurial转换无损。 理论上,你甚至可以克隆hg仓库。
使用Mercurial进行分布式版本控制 :
convert所支持的版本控制工具如下:
- 颠覆
- CVS
- 混帐
- 的darcs
所以也许你不需要任何额外的工具?
转换扩展可能适用于您,但如果不适用,您可能需要检查定制哪一个是在各种分布式SCM之间转换的通用工具。
你可以根本不转换它。 只需使用Hg-Git插件! 没有人会知道这个区别。
新的城市玩家: git-remote-hg 。 它在git中提供本地桥接支持。
只是:
hg init ../hgrepo git push hg::$PWD/../hgrepo
在所有Git仓库的Git
文件夹中,我创build了Git2Hg.cmd
以下内容的Git2Hg.cmd
文件:
set PATH=%PATH%;C:\Program Files\TortoiseHg set PATH=%PATH%;C:\Program Files\Git\bin hg convert %1
现在我可以通过在CMD中input以下命令将Git存储库转换为Hg:
Git2Hg "Folder Name"
Hg-Git插件或者如果你使用Windows或从一个到另一个迁移访问这里2 [Windows GIT]