我一直在使用git作为源代码库开发一个java应用程序。我想与其他java开发人员共享该项目,而hg似乎最常被他们使用。
我的问题是如何将git存储库转换为hg?
如果我尝试谷歌搜索“将git转换为hg”,并且每次搜索都是关于从hg转换为git。我也在使用TortoiseHg。
答案 0 :(得分:78)
安装后默认情况下hg convert
实用程序未启用。要将其设置为此类,请将以下内容添加到.hgrc
文件中。
[extensions]
hgext.convert=
如果您在Windows上使用TortoiseHg,则此文件将作为mercurial.ini
驻留在您的主目录中。完成此设置更改后,您将可以使用hg convert
实用程序。
答案 1 :(得分:41)
将以下行添加到
.hgrc
或启用扩展程序:
[extensions]
hgext.convert=
输入
cd src
hg convert --datesort . dst
(即使它可以lead to some issues ...)
注意:: 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确认
答案 2 :(得分:17)
您可能需要查看http://hg-git.github.com/实用程序:Mercurial的Git插件
这个插件最初是由GitHub的人开发的,并允许无损转换来自git< - > mercurial。从理论上讲,您甚至可以克隆hg存储库。
答案 3 :(得分:9)
Distributed revision control with Mercurial州:
支持修订控制工具 通过转换如下:
- 的Subversion
- CVS
- GIT中
- 的darcs
那么也许您不需要任何其他工具?
答案 4 :(得分:6)
转换扩展可能适合您,但如果没有,您可能需要查看tailor这是一个用于在各种分布式SCM之间进行转换的通用工具。
答案 5 :(得分:2)
你可能根本就没有转换它。只需使用Hg-Git插件即可!没有人会知道其中的差异。
答案 6 :(得分:2)
答案 7 :(得分:1)
在包含我所有Git存储库的Git
文件夹中,我创建了Git2Hg.cmd
文件,其中包含以下内容:
set PATH=%PATH%;C:\Program Files\TortoiseHg
set PATH=%PATH%;C:\Program Files\Git\bin
hg convert %1
现在我可以通过在CMD中键入它来将Git存储库转换为Hg:
Git2Hg "Folder Name"
答案 8 :(得分:0)
Hg-Git插件或者如果您使用Windows或从一个移植到另一个,请访问2 [Windows GIT]