几年前,Mercurial |TortoiseHG可以与至少2个老大哥轻松双向交换数据:
- Subversion, 使用 HGSubversion
- Git,使用 HG-Git
当前(6.0 版本的 family)状态 - 普通用户没有:
- hg-Subversion 已损坏(无法加载扩展),与 THG(Mercurial ???) 扩展捆绑在一起,自 2019 年以来未更新
hgsubversion: 6a6ce9d9da35 2019-04-19
(从我的TortoiseHgextension-versions.txt
中提取),外部 SVN 绑定仅适用于 Python 2.7(而 Mercurial 内部的 py3-movement 是实时和活跃的) - hg-git 遇到了一些大麻烦,从 THG 4.9 开始(需要手动修补库.zip),在 6 版本上情况有所好转(没有修补),但对于普通用户来说仍然不令人满意- 安装 Python 2.7(单用户)并使用
pip
不是正确的方式 (tm)
是否有任何关于如何做到这一点的评论、补充、澄清和建议(如果我做的是错误的)?
经过一些测试后添加:来自Matt Harbison的特殊verson turtoisehg-6.0hggit-x64.msi至少允许将hg-git与ssh-transport一起使用(还不是http),并且可以推荐普通用户日常使用。
所以,作为hg-git的现任维护者和hgsubversion的前贡献者,我想我可以在这里提供一些背景。
关于hgsubversion,简短的回答是它要么已经死了,要么充其量是极度休眠。就我个人而言,我已经很多年没有与 Subversion 仓库互动了,这是一种常见的经历。没有人有足够的动力去修复错误,让它继续工作,最后但并非最不重要的是,让它与Python 3一起工作。
对于hg-git来说,一段时间的半休眠状态意味着TortoiseHg维护者停止捆绑它。我们现在跟上Mercurial的发布,我已经要求他们撤销这一决定。我相信他们捆绑了德威,但由于我不使用Windows,我不能肯定地说。也就是说,想要将hg-git与TortoiseHg一起使用是相当合理的,如果您遇到任何特定问题,我建议您向他们提交错误 - 或者为我之前链接的错误添加评论。
一般来说,你应该能够在大多数版本的TortoiseHg中使用0.10.x版本的hg-git,因为我相信它们捆绑了德威。在这种情况下,启用扩展应该像这样简单:
hg clone -u 0.10.x http://foss.heptapod.net/mercurial/hg-git /path/to/repo
然后将以下内容添加到您的.hgrc
:
[extensions]
hggit = /path/to/repo/hggit
一旦TortoiseHg迁移到Python 3.x,hg-git的default
分支将再次使用它。
编辑:我错了;他们似乎没有捆绑德威。关于这个错误,其中一位维护者发布了一个包含hg-git和Dulwich的打包安装程序的链接。下一个版本 6.1 应该可以解决此问题。请考虑测试安装程序,并向 TortoiseHg 维护人员报告它是否按预期工作。
EDIT²:请注意,只有SSH才能与该安装程序一起使用,因为他们在捆绑urllib3
时遇到了一些问题,这对于HTTP支持是必需的。
TortoiseHG 6.2
捆绑的hg-git可以工作(至少在GitHub上),但现在仅适用于 https://存储库:
旧的SSH访问失败,抱怨我的钥匙使用新的密钥对(仍然是RSA)和PageAnt-x64(用于THG-x64),我在游戏中获得了两种访问方法