当前位置: 首页 > 工具软件 > hg-git > 使用案例 >

Hg转Git

章远航
2023-12-01

Hg转Git

主要参考这篇文章
从hg导入git的方法和坑

一开始是用TortoiseHg自带的hg-git插件
使用最新版SourceTree下载的gitbush, 在形如这个位置
C:\Users\chenrq\AppData\Local\Atlassian\SourceTree\git_local\git-bash.exe

然后报错:TypeError: genpack() got an unexpected keyword argument ‘ofs_delta’

考虑是hg-git插件的版本问题,按这里的文档 http://hg-git.github.io/,进行手动安装
easy_install dulwich

报错 error: Setup script exited with error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27

根据报错信息安装VCForPython27.msi后重试,这次dulwich安装成功

再次Push:cannot import name peerrepository
发现hgrc配置
[extensions]
hggit = C:\DevEnv\hg-git\hggit
后,hg本身都会报错了

尝试更新TortoiseHg到最新版本
继续push,提示 自 ‘C:\DevEnv\hg-git\hggit’: ‘module’ object has no attribute ‘ignore’

看了看hg-git作者的项目,已经修复了这个问题,只是没进release
https://bitbucket.org/durin42/hg-git/issues/252/hg-47-error#comment-47148603

去下载修改者fork的项目
https://bitbucket.org/bashell-com/hg-git/downloads/?tab=downloads

然后hgrc配置使用这个修改版本的hggit插件

[extensions]
hggit = C:\DevEnv\bashell-com-hg-git-c49e61d14752\hggit

这次push正常了

C:\Test_Work\NestedPrefabTest>hg push C:\Test_Work\NestedPrefabGit
正在推到 C:\Test_Work\NestedPrefabGit
正在搜索修改
adding objects
added 4 commits with 20 trees and 44 blobs

可以不使用git-bash,windows10的命令行直接跑hg push就可以

 类似资料: