Mercurial 6 与其他 VCS 的互操作性

Laz*_*ger 3 mercurial tortoisehg hgsubversion hg-git

几年前,Mercurial | TortoiseHG 可以轻松地与至少 2 位“老大哥”进行双向数据交换:

当前(6.0版本家族)状态-普通用户没有

  • hg-subversion 已损坏(无法加载扩展),与 THG(Mercurial ???)扩展捆绑在一起,自 2019 年以来未更新 hgsubversion: 6a6ce9d9da35 2019-04-19(从我的 中提取TortoiseHg\extension-versions.txt),外部 SVN 绑定仅适用于 Python 2.7(而 Mercurial 内的 py3-movement是活跃的)
  • hg-git 遇到了一些大麻烦,从 THG 4.9 开始(需要手动修补library.zip),在 6 版本上情况有所好转(无需修补),但对于普通用户来说仍然不满意- 安装 Python 2.7(对于单个-user)并且使用pip不是正确的方式(tm)

对于如何做到这一点,是否有任何评论、补充、澄清、建议(如果我所做的事情是错误的)?

经过一些测试后添加:来自 Matt Harbison 的特殊版本tortoisehg-6.0hggit-x64.msi至少允许使用 hg-git 与 ssh-transport (还不是 http),并且可以推荐普通用户日常使用。

Dan*_*sen 6

因此,作为 hg-git 的当前维护者和 hgsubversion 的前贡献者,我想我可以在这里提供一些背景信息。

\n

关于 hgsubversion,简短的回答是它要么死了,要么 \xe2\x80\x94 充其量 \xe2\x80\x94 极度休眠。就我个人而言,我已经很多年没有与 Subversion 存储库进行交互了,这是一种常见的经历。没有人有足够的动力去修复错误,保持它的工作,最后,但并非最不重要的是 \xe2\x80\x94 让它与 Python 3 一起工作。

\n

对于 hg-git 来说,一段时间的半休眠状态意味着 TortoiseHg 维护者停止捆绑它。我们现在跟上 Mercurial 的发布,我已要求他们撤销该决定。我相信他们捆绑了德威,但由于我不使用 Windows,所以我不能确定。也就是说,想要将 hg-git 与 TortoiseHg 一起使用是相当合理的,如果您遇到任何特定问题,我建议您使用它们提交错误 \xe2\x80\x94\xc2\xa0 或者也许对我之前链接的错误添加评论。

\n

一般来说,您应该能够将 0.10.x 版本的 hg-git 与大多数版本的 TortoiseHg 一起使用,因为我相信它们捆绑了 Dulwich。在这种情况下,启用扩展应该非常简单:

\n
hg clone -u 0.10.x http://foss.heptapod.net/mercurial/hg-git /path/to/repo\n
Run Code Online (Sandbox Code Playgroud)\n

然后将以下内容添加到您的.hgrc

\n
[extensions]\nhggit = /path/to/repo/hggit\n
Run Code Online (Sandbox Code Playgroud)\n

一旦 TortoiseHg 迁移到 Python 3.x,defaulthg-git 分支将再次使用它。

\n

编辑:我错了;看起来他们并没有捆绑德威。关于这个错误,一位维护者发布了一个包含 hg-git 和 Dulwich 的打包安装程序的链接。下一个版本 6.1 应该会解决这个问题。请考虑测试安装程序,并向 TortoiseHg 维护人员报告其是否按预期工作。

\n

编辑\xc2\xb2:请注意,只有 SSH 可以与该安装程序配合使用,因为它们遇到了一些捆绑问题urllib3,而这是 HTTP 支持所必需的。

\n