“中止:没有名为选择器的模块!”将 Mercurial 存储库推送到 Git 存储库时

2024-04-12

我正在尝试将 Hg 存储库转换为 Git 存储库。两者都是私有存储库。

我已按照以下步骤操作(参考 http://arr.gr/blog/2011/10/bitbucket-converting-hg-repositories-to-git/):

  • 第 1 步:设置您的存储库

  • 步骤 2:安装 Mercurial hggit 插件

  • 第 3 步:将代码推送到 Git 存储库中

  • 步骤 4:切换本地存储库以使用 Git

我还安装了先决条件,即。 hg-git 插件并更新了需要转换的存储库的 .hgrc 文件。

推送存储库( hg push [Git repo path] )时出现错误是“中止:没有名为选择器的模块!”

我使用了 --traceback 选项,请找到下面的日志:

E:\BK_Hg\testHg>hg push --traceback https://[email protected] /cdn-cgi/l/email-protection/CJbipin/testgit2.git
pushing to https://[email protected] /cdn-cgi/l/email-protection/CJbipin/testgit2.git
Traceback (most recent call last):
File "mercurial\scmutil.pyo", line 161, in callcatch
File "mercurial\dispatch.pyo", line 344, in _runcatchfunc
File "mercurial\dispatch.pyo", line 984, in _dispatch
File "mercurial\dispatch.pyo", line 730, in runcommand
File "mercurial\dispatch.pyo", line 992, in _runcommand
File "mercurial\dispatch.pyo", line 981, in <lambda>
File "mercurial\util.pyo", line 1528, in check
File "mercurial\commands.pyo", line 4369, in push
File "E:/hg-git\hggit\util.py", line 60, in inner
File "E:/hg-git\hggit\__init__.py", line 414, in exchangepush
File "E:/hg-git\hggit\git_handler.py", line 405, in push
File "E:/hg-git\hggit\git_handler.py", line 1063, in upload_pack
File "E:/hg-git\hggit\git_handler.py", line 1749, in get_transport_and_path
File "dulwich\client.pyo", line 1330, in __init__
File "dulwich\client.pyo", line 1304, in default_urllib3_manager
File "hgdemandimport\demandimportpy2.pyo", line 167, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\__init__.pyo", line 8, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\connectionpool.pyo", line 29, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\connection.pyo", line 39, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\util\__init__.pyo", line 3, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\util\connection.pyo", line 3, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
File "urllib3\util\wait.pyo", line 1, in <module>
File "hgdemandimport\demandimportpy2.pyo", line 243, in _demandimport
File "hgdemandimport\demandimportpy2.pyo", line 41, in _hgextimport
ImportError: No module named selectors
abort: No module named selectors!

问候 比平·库马尔


因为即使在已发布的 THG 5.0.2 中,捆绑的 hg-git 仍然存在相同的问题:

THG 5 解决方案的详细步骤

懒人快法

  • 下载完整补丁lib对于 THG 4.9.1 从在 BB 的问题上发表评论 https://bitbucket.org/tortoisehg/thg/issues/5140/hg-git-abort-no-module-named-selectors#comment-52063826
  • Replace dulwich + urllib3在您的 THG 库存档中,通过上述库的修补版本
  • 如果在克隆 git-repo 的尝试后引发“urllib3.exceptions.MaxRetryError”错误,则删除 certifi 或使用补丁中的 certifi

更长更纯粹的方式

  • 解压库.zip
  • 将 urllib3 替换为 1.24.1(下载、编译、替换旧的 *.pyo)
  • 用相同的内容替换德威奇https://github.com/dulwich/dulwich/ https://github.com/dulwich/dulwich/,最新0.19.11,(下载、编译、替换旧的*.pyo)
  • 我们没有替换 hg-git,因为捆绑的 hggit 包含 Mercurial 5 的最新兼容性修复程序(而 dmitriyse 的版本还没有)
  • 删除认证
  • 重新打包库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“中止:没有名为选择器的模块!”将 Mercurial 存储库推送到 Git 存储库时 的相关文章

  • .gitconfig 别名函数调用

    我在 gitconfig 中定义了以下别名 alias teamcity tc tc是我在我的中定义的一个shell函数 bashrc文件 由于某种原因 我收到以下错误 aafghani 03 git workday amirafghani
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供
  • 将bitbucket发布到数字海洋

    我本质上是试图使用 bitbucket 来理解 git 的概念 我一直在通过修改本地帐户和 bitbucket 帐户之间的文件来练习版本控制 事实证明这很有帮助 现在我正在尝试弄清楚如何将文件从 bitbucket 或者我猜是 GitHub
  • 为所有子文件夹设置 git 配置值

    我知道可以设置每个存储库的配置来覆盖用户级配置 即 path to my repo gitconfig覆盖 gitconfig 是否可以设置 git 配置来覆盖给定文件夹的所有子文件夹的用户级设置 即 我有 topLevelFolder1
  • Android 存储库初始化失败

    我想我非常仔细地遵循该网站的说明 http source android com source downloading html http source android com source downloading html 但是当我尝试这
  • 如何让 Aptana Studio 记住 git ssh 密码

    我找不到任何有关如何获得 Aptana Studio 的内置 git 支持来记住执行推 拉操作的 ssh 密码的指南 信息 有人有什么想法吗 Aptana Studio 实际上是内置的 GIT 程序 它将在 Windows 上的 C Use
  • Git - 如何将整个目录恢复到特定提交(删除任何添加的文件)

    我想恢复 git 中的目录 恢复其中的所有文件 并删除自该提交以来添加的所有文件 进行结账似乎只能满足我的第一个要求 但不会删除任何文件 我想出了最简单的解决方案 git rm path to dir git checkout
  • Mercurial 合并的默认主干版本?

    当我们将 Mercurial 功能发布存储库中的更改合并到主干存储库时 我们总是会与 Maven POM 文件 pom xml 和 Mercurial hgtags 文件发生冲突 我们总是想保留主干版本 我们永远不需要功能发布存储库版本 有
  • `git push` -- 没有输出,什么也没有发生

    touch test git add test git commit m test git push u origin master 这奏效了 该文件已上传到存储库 rm test cp R website website git rm t
  • Git:从 master 以外的分支克隆

    我正在尝试从 Github 的存储库中提取数据 但我不想克隆主分支 我想克隆其他一些分支 当我尝试时git clone
  • 如何减少 Bitbucket 上的 git repo 大小?

    我的问题摘要 在我向两个现有文件添加了几百个字节后 我在 Bitbucket 上的一个私人存储库的大小突然增加了一倍多 该存储库现在超过 2GB 这导致 Bitbucket 将其置于只读模式 因为它处于只读模式 所以我无法推送会减少存储库大
  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看
  • 除非我在项目目录中,否则 Git 不会显示日志

    我正在尝试打电话git log当我在不同的目录中时 我经过的位置 git is git log Users Leica proj1 但它说 不是 git repo 如果我cd进入这个目录 就可以正常工作了 cd Users Leica Pr
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • git merge 冲突的不同场景

    我试图了解 git 合并后可能发生 git 冲突的情况以及如何避免它们 我创建了一个 git 存储库并向其中添加了一个文本文件 我已将 1 添加到文本文件中并将其提交给 master 我已经从 master 创建了一个新分支 分支 2 并将
  • 使用 Windows 网络共享目录时 Hg 存储库损坏

    我希望我能在这里得到一些帮助 因为 SO UX 比 Mercurial 邮件列表更好 多年来我一直在家里愉快地使用 Mercurial 我还将它与 Bitbucket Cloud 一起用于一些更严肃 但仍然是爱好 的项目 去年 我将我的团队
  • 如何让 mod_wsgi 在 Mac 上运行?

    几个小时以来 我一直在尝试在 Mac 上安装最新版本的 mod wsgi 3 3 我使用的是 Snow Leopard 并且有系统附带的 Apache Apache 2 2 15 和 Python 2 6 1 r261 67515 版本 我
  • 协调多个依赖的 Mercurial 存储库版本的推荐方法?

    好吧 经过几个小时的阅读和反复试验 它终于击中了我 Mercurial 并不真正想做 SubRepos 至少不想与 TortoiseHg 和 Bitbucket 一起使用 如果我错了 并且您不希望对类似于 当然它有效 您没有阅读官方文档吗

随机推荐