将Mercurial文件夹转换为Git存储库
我没有Mercurial的丰富经验,我主要是一个Git的人。
我很想在git Repository中镜像特定的Mercurial文件夹/文件。 我实际上试图做的是将文件的历史记录从Mercurial存储库导出到Git,并能够与未来的提交保持同步。
你有什么建议如何进行? 我相信要走的路应该是获取Mercurial补丁的历史记录,定期将每个提交作为补丁导出并将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
git checkout HEAD
Hg-Git扩展
Hg-Git可用于将Mercurial存储库转换为Git。 您可以使用本地存储库或通过SSH,HTTP或HTTPS访问的远程存储库。
本地存储库转换示例。
安装Hg-Git。
在Windows上,TortoiseHg带有Hg-Git,但您需要通过设置工具启用它(在扩展部分中)
或者在~/mercurial.ini
手动
[extensions]
hggit =
使用以下命令转换存储库:
$ mkdir git-repo; cd git-repo; git init; cd ..
$ cd hg-repo
$ hg bookmarks hg
$ hg push ../git-repo
hg
书签对于防止问题是必要的,因为否则hg-git会推送到当前签出的分支,令Git混淆。 这将在Git存储库中创建一个名为hg
的分支。 要获得主站中的更改,请使用以下命令(仅在首次运行时需要,稍后使用git merge
或rebase
):
$ cd git-repo
$ git checkout -b master hg
你可以(从Mercurial方面):
--filemap
选项的Convert扩展--filemap
原始repo的一部分转换为只包含所需文件目录的较小部分 或者(而不是hg-git),使用Git中的Mercurial桥,Git中的clone | pull repository
链接地址: http://www.djcxy.com/p/37623.html上一篇: Converting Mercurial folder to a Git repository
下一篇: Spark: graphx api OOM errors after unpersist useless RDDs