Python 将Mercurial迁移到GitHub
我想从Google代码和Mercurial迁移到Git和GitHub,同时保留所有分支和版本历史记录 到目前为止,hggit mercurial插件()似乎是我唯一的选择。我试图按照安装说明操作,但有点不知所措。我就在这里:Python 将Mercurial迁移到GitHub,python,git,mercurial,github,Python,Git,Mercurial,Github,我想从Google代码和Mercurial迁移到Git和GitHub,同时保留所有分支和版本历史记录 到目前为止,hggit mercurial插件()似乎是我唯一的选择。我试图按照安装说明操作,但有点不知所措。我就在这里: 我安装了 我安装了 我安装了 我在OrtoisehG中的mercurial.ini中添加了以下内容: [扩展] hgext.bookmarks= hggit= 现在当我跑步时: C:\Python27\Scripts>easy\u install.exe hg git
- 我安装了
- 我安装了
- 我安装了
- 我在OrtoisehG中的mercurial.ini中添加了以下内容:
[扩展]
hgext.bookmarks=
hggit=
现在当我跑步时:
C:\Python27\Scripts>easy\u install.exe hg git
我得到以下信息:
搜索hg git
最佳匹配:hg git 0.3.3
加工hg_git-0.3.3-py2.7.1鸡蛋
hg git 0.3.3已经是easy-install.pth中的活动版本
使用c:\python27\lib\site packages\hg\u git-0.3.3-py2.7.egg
处理hg-git的依赖项
搜索dulwich>=0.8.0
阅读http://pypi.python.org/simple/dulwich/
阅读http://samba.org/~jelmer/德威治
阅读http://launchpad.net/dulwich
最佳对手:德威治0.8.5
正在下载http://samba.org/~jelmer/dulwich/dulwich-0.8.5.tar.gz
加工德威治-0.8.5.tar.gz
运行dulwich-0.8.5\setup.py-q bdist\u egg--dist dir c:\users\lee\appdata\local\temp\easy\u install-3qgeev\dulwich-0.8.5\egg-dist-tmp-ciyt\u 4
然后是一系列错误,如下所示:
回溯(最近一次呼叫最后一次):
文件“C:\Python27\Scripts\easy\u install-script.py”,第8行,在
加载入口点('setuptools==0.6c11','console\u scripts','easy\u install')()
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第1712行,主目录
使用_ei_(λ:
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第1700行,使用了\u ei\u用法
返回f()
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第1716行,在
distclass=DistributionWithout帮助命令,**kw
文件“C:\Python27\lib\distutils\core.py”,第152行,在安装程序中
dist.run_命令()
文件“C:\Python27\lib\distutils\dist.py”,第953行,在run\u命令中
self.run_命令(cmd)
文件“C:\Python27\lib\distutils\dist.py”,第972行,在run\u命令中
cmd_obj.run()
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第211行,正在运行
自我。易于安装(规范,非自我。无需安装)
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第446行,在easy\u install中
返回自安装项目(规格、距离位置、tmpdir、deps)
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第481行,位于安装项目中
自我处理分配(规范、区[0],部门,“使用”)
文件“C:\Python27\lib\site packages\setuptools\command\easy\u install.py”,第519行,正在分发中
[要求]、self.local\u索引、self.easy\u安装
文件“C:\Python27\lib\site packages\pkg_resources.py”,第563行,解析
dist=最佳[req.key]=环境最佳匹配(req,self,installer)
文件“C:\Python27\lib\site packages\pkg\u resources.py”,第799行,最佳匹配
返回self.acquire(请求,安装程序)#尝试下载/安装
不确定下一步要尝试什么。我也尝试了下面的提示,但我遗漏了一些明显的东西。如果有任何帮助,我们将不胜感激。只需草稿和一些注释和想法:
- 为了使用TortoiseHG(在Windows上,xpsp3,如果有必要的话),Python不是强制性的——我使用THG时没有Python/setuptools/pip
- Bitbucket中的乌龟(or)在Windows世界中是自给自足的Mercurial
- 我用手把hg-git扩展添加到我的龟甲上
- 将hg git从克隆到本地目录
- 在global mercurial.ini(Documents and Settings\Badger\mercurial.ini)中添加了hg git扩展名
- 书签扩展,作为默认扩展,与THG捆绑在一起,在一些版本之前在GUI中启用,现在可以在mercurial.ini中找到
,而在设置扩展中没有相应的复选框bookmarks=
- 使用OrtoiseHG中的功能性hg git(克隆、拉、推,某些git回购无误),您可以尝试将外部Mercurial回购转换为外部git回购
- 将CG Mercurial回购克隆为本地(Mercurial)回购
- 在Github上创建新的空Git repo(验证身份验证和其他可能的问题)
- 添加第二个远程repo(GUI-“Synchonize”选项卡,手动-repo的.hg\hgrc中
部分的新字符串),仅适用于我[path]
URL(通过PageAnt进行基于密钥的身份验证)是透明的解决方案git+ssh://git@github.com/username/reponame.git
- 将本地回购推送到github
- 玩得开心
我还与hg-git进行了斗争。我想出了一个奇怪的解决方案 我是用 这并不奇怪,一定是你在寻找的
怪异和奖金部分如下:
- 我在上创建了一个hg镜像回购
- 我在git存储库中创建了一个本地hg存储库
- 我将
添加到我的.hg/
.gitignore
- 将
和.hg/
添加到.git/
文件中.gitignore
吉特先生/ .hg/
- 在本地repo中输入
目录,并将.hg
文件作为.gitignore
符号链接到 $ln-s../.gitignore.hgignore.hgignore
- 现在,
也会考虑对hg
所做的任何更改 $git add.gitignore-am'gitignore' $hg add.gitignore-am“别忘了将.hg/folder中的.gitignore作为.hgignore进行符号链接” $hg推送默认值 $git推送源mas.gitignore