【问题标题】:Migrating from Mercurial to Git从 Mercurial 迁移到 Git
【发布时间】:2013-07-31 12:24:11
【问题描述】:

我知道这个问题之前被问过几次并标记为“可能重复”,但它们似乎都没有正常工作。我尝试了快速导出,但它给出了错误。谁能帮助如何从 Mercurial 迁移到 Git?我需要历史。如能分步列出将不胜感激。

更新:

我尝试了快速导出:

cd ~
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo **[I get error in this line]**
git checkout HEAD

这给出了错误:

..... hg-fast-export.sh:第 79 行:python:找不到命令

感谢您的帮助!

【问题讨论】:

  • 这个 S.O.问题包含很多选项和文档链接(不仅是快速导出选项):stackoverflow.com/questions/10710250/…
  • 如果您希望我们为您提供帮助,请在您的问题中添加更多详细信息。您使用什么命令进行迁移?是否有任何错误信息?您已经尝试过哪些不起作用的方法?您提供的信息越多,我们能为您提供的帮助就越多!
  • @Cupcake 我更新了我的问题。
  • @MF82 我完全按照那个链接。查看我的更新
  • 你的python是怎么安装的?

标签: git version-control mercurial version-control-migration


【解决方案1】:
  1. 将 hg-git 添加到 Mercurial
  2. 将 hg-repo 推送到 git-target

分步指南

it's repository 克隆Hg-Git Extension 到某个本地PATH\TO\HG-GIT

B 在(全局 mercurial.ini 或存储库特定的 .hgrc)中启用扩展

[extensions]
bookmarks = 
...
hggit = PATH\TO\HG-GIT

书签是很久以前添加的,当时这个扩展不是 TortoiseHG|Mercurial 的一部分,不确定今天的配置

C 创建具有读|写权限的新 Git 存储库(或记住现有的?!)

D 从 p 添加 Git-repo。 C 到 .hgrc 的 [paths] 部分,用于 Mercurial 存储库,您希望在 Git 中以任何名称导出。我的本地 Mercurial 存储库的示例,它在 Github 上有 Git-mirror

[paths]
default = git+ssh://git@github.com/lazybadger/Fiver-l10n.git

E 之后,您可以在 Mercurial 中像往常一样使用 Git-repository 远程存储库,并且作为第一个操作(对于创建的空 Git-repository),您必须推送到新远程

F 检查 Git 存储库是否存在,推送后将 Mercurial 的完整历史记录镜像到其中

G 照常使用 Git-repository

本指南中使用的来源

  • WP 主题的本地 Mercurial 存储库,具有非常简单的线性历史记录

【讨论】:

  • 能否提供更多步骤?
  • @Dilshod - 是的,答案现在扩展(将会)
  • 感谢您发布所有内容。我正在尝试将扩展名添加到我的 HG,但它没有显示在扩展名列表中。这就是我尝试的方式。 hgext.bookmarks = hggit = C:/hg_builds/hg-git。我尝试了带有反斜杠“\”和引号的路径。不知道怎么回事。
  • @Dilshod - 我从未使用过纯 Mercurial(仅 THG),因此 - 在这方面什么也说不出来
  • 抓住重点(D),你如何构建“git+ssh://git@github.com/lazybadger/Fiver-l10n.git”字符串?
猜你喜欢
  • 1970-01-01
  • 2013-12-24
  • 2010-10-26
  • 2010-11-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
相关资源
最近更新 更多