在Windows(7)上将Mercurial(hg)存储库转换为Git

2024-06-01 06:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

在这一点上我真的很沮丧。我有一个现有的hg存储库,其中有几个月的编码历史,我想把它放到一个私有的Github存储库中,这样我就可以在那里工作了。不幸的是,我使用Windows,我似乎找不到任何转换存储库的方法,实际上我可以正常工作。实际上,我在网上能找到的每一点帮助和建议,似乎都在假设我是在逃避某种“尼克斯炮弹”,而我不是。

我目前已经安装了:TortoiseHG、Python 3.1和Git for Windows。

我试过的:

  1. hg init plugin for hg-当我尝试使用gexport命令(以及hg git中的其他命令)时,我只得到了python异常的字符串。我完全无法让git识别gremote命令。我试着跟随这里的内容:http://github.com/blog/439-hg-git-mercurial-plugin

  2. hg to git(快速导出)-所有教程都希望我运行一个.sh文件。另一个stackoverflow线程似乎暗示Powershell可以运行.sh文件,但我不能让它运行它们。示例:http://hivelogic.com/articles/converting-from-mercurial-to-git

  3. Mercurial到git转换器-http://permalink.gmane.org/gmane.comp.version-control.git/36601-当我通过Python运行它时,这个转换器不想工作,Python抱怨它在第44行有语法错误。我不懂Python,所以我不知道。

四个小时的谷歌搜索和浏览无用的教程,还有比我更幸运的人,为每一篇被认为有用的博客文章唱赞歌,但我没有得到任何进展。有人能给我提些建议或帮助吗?


Tags: 文件togit命令comhttpforwindows
3条回答
  1. 安装Cygwin(使用python、hg、git)
  2. 安装git-hg
  3. 运行git-hg clone ...url...

或者告诉我你这个hg repo的url是什么,我可以为你转换它。

关于如何在Windows上将Mercurial存储库转换为Git,有很多相互矛盾的信息。它非常简单,只需要安装TortoiseHg和Git。

准备

通过将以下内容添加到Mercurial配置文件(%Userprofile%\Mercurial.ini)来启用hg git:

[extensions]
hggit = 
hgext.bookmarks =

[git]
intree = True

转换

导航到命令行上的repository目录(包含.hg子目录),然后执行以下命令:

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

更多信息

你可以在我关于这个主题的blog article中找到这些步骤的详细描述。

你考虑过安装msysgit吗?它提供的git bash shell应该能够运行.sh文件。

相关问题 更多 >