Mercurial 6 与其他 VCS 的互操作性
Interoperability of Mercurial 6 with other VCSes
几年前,Mercurial | TortoiseHG 至少可以和 2 个大哥轻松双向交换数据:
- 颠覆,使用HGSubversion
- Git,使用 HG-Git
当前(6.0版本家族)状态-普通用户有none:
- hg-subversion 已损坏(无法加载扩展),与 THG(Mercurial ???)扩展捆绑在一起 not updated since 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(对于单用户)并使用
pip
不是正确的方法(tm)
是否有关于如何做的评论、补充、澄清和建议(如果我做的是错的)?
一些测试后添加: 来自 Matt Harbison 的特殊版本 tortoisehg-6.0hggit-x64.msi 至少允许使用 hg-git 和 ssh-transport(还不是 http) 可以推荐普通用户日常使用。
因此,作为 hg-git 的当前维护者和 hgsubversion 的前贡献者,我想我可以在这里提供一些背景信息。
关于 hgsubversion,简短的回答是它要么死了,要么充其量处于极度休眠状态。就个人而言,我已经很多年没有与 Subversion 存储库交互了,这是一种常见的体验。没有人有足够的动力去修复错误,让它继续工作,并且——最后但并非最不重要的——让它与 Python 3.
一起工作
对于 hg-git,一段时间的半休眠状态意味着 TortoiseHg 维护者停止捆绑它。我们现在跟上 Mercurial 的发布,我已经 requested that they reverse that decision。我相信他们捆绑了 Dulwich,但由于我不使用 Windows,所以我不能肯定地说。也就是说,希望将 hg-git 与 TortoiseHg 一起使用是非常合理的,如果您 运行 遇到任何特定问题,我建议您向他们提交错误 - 或者添加评论我之前链接的错误。
一般来说,您应该能够将 0.10.x 版本的 hg-git 与大多数版本的 TortoiseHg 一起使用,因为我相信它们捆绑了 Dulwich。在这种情况下,启用扩展应该很简单:
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
b运行ch 将再次使用它。
编辑:我错了;他们似乎不捆绑德威。 On the bug for this, one of the maintainers posted a link to a packaged installer 其中包括 hg-git 和德威。下一个版本 6.1 应该会解决这个问题。请考虑测试安装程序,并向 TortoiseHg 维护人员报告它是否按预期工作。
EDIT²: 请注意,只有 SSH 可以与该安装程序一起使用,因为它们 运行 涉及捆绑 urllib3
的一些问题,这是 HTTP 支持所必需的.
几年前,Mercurial | TortoiseHG 至少可以和 2 个大哥轻松双向交换数据:
- 颠覆,使用HGSubversion
- Git,使用 HG-Git
当前(6.0版本家族)状态-普通用户有none:
- hg-subversion 已损坏(无法加载扩展),与 THG(Mercurial ???)扩展捆绑在一起 not updated since 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(对于单用户)并使用
pip
不是正确的方法(tm)
是否有关于如何做的评论、补充、澄清和建议(如果我做的是错的)?
一些测试后添加: 来自 Matt Harbison 的特殊版本 tortoisehg-6.0hggit-x64.msi 至少允许使用 hg-git 和 ssh-transport(还不是 http) 可以推荐普通用户日常使用。
因此,作为 hg-git 的当前维护者和 hgsubversion 的前贡献者,我想我可以在这里提供一些背景信息。
关于 hgsubversion,简短的回答是它要么死了,要么充其量处于极度休眠状态。就个人而言,我已经很多年没有与 Subversion 存储库交互了,这是一种常见的体验。没有人有足够的动力去修复错误,让它继续工作,并且——最后但并非最不重要的——让它与 Python 3.
一起工作对于 hg-git,一段时间的半休眠状态意味着 TortoiseHg 维护者停止捆绑它。我们现在跟上 Mercurial 的发布,我已经 requested that they reverse that decision。我相信他们捆绑了 Dulwich,但由于我不使用 Windows,所以我不能肯定地说。也就是说,希望将 hg-git 与 TortoiseHg 一起使用是非常合理的,如果您 运行 遇到任何特定问题,我建议您向他们提交错误 - 或者添加评论我之前链接的错误。
一般来说,您应该能够将 0.10.x 版本的 hg-git 与大多数版本的 TortoiseHg 一起使用,因为我相信它们捆绑了 Dulwich。在这种情况下,启用扩展应该很简单:
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
b运行ch 将再次使用它。
编辑:我错了;他们似乎不捆绑德威。 On the bug for this, one of the maintainers posted a link to a packaged installer 其中包括 hg-git 和德威。下一个版本 6.1 应该会解决这个问题。请考虑测试安装程序,并向 TortoiseHg 维护人员报告它是否按预期工作。
EDIT²: 请注意,只有 SSH 可以与该安装程序一起使用,因为它们 运行 涉及捆绑 urllib3
的一些问题,这是 HTTP 支持所必需的.