【问题标题】:Git submodule fails with Could not access submoduleGit 子模块因无法访问子模块而失败
【发布时间】:2020-10-04 00:57:06
【问题描述】:

操作系统:Linux

git 版本:2.26.2

我的 repo 的 Git repo 提供者:gitlab

失败子模块的回购提供者:Github

.gitmodules

[submodule "libraries/stb"]
    path = libraries/stb
    url = https://github.com/nothings/stb.git
    branch = master
[submodule "libraries/harfbuzz"]
    path = libraries/harfbuzz
    url = https://github.com/harfbuzz/harfbuzz.git
    branch = master
[submodule "libraries/shaderc"]
    path = libraries/shaderc
    url = https://github.com/google/shaderc.git
    branch = master
[submodule "libraries/freetype2"]
    path = libraries/freetype2
    url = https://github.com/aseprite/freetype2.git
    branch = master
[submodule "libraries/VulkanMemoryAllocator"]
    path = libraries/VulkanMemoryAllocator
    url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
    branch = master
[submodule "libraries/googletest"]
    path = libraries/googletest
    url = https://github.com/google/googletest.git
    branch = master
[submodule "libraries/Eigen"]
    path = libraries/Eigen
    url = https://gitlab.com/libeigen/eigen.git
    branch = master
[submodule "libraries/benchmark"]
    path = libraries/benchmark
    url = https://github.com/google/benchmark.git
[submodule "libraries/rapidcheck"]
    path = libraries/rapidcheck
    url = https://github.com/emil-e/rapidcheck.git
    branch = master
[submodule "libraries/magic_get"]
    path = libraries/magic_get
    url = https://github.com/apolukhin/magic_get.git
    branch = master

命令和输出:

git pull --recurse-submodules=true

Fetching submodule libraries/Eigen
Fetching submodule libraries/VulkanMemoryAllocator
Fetching submodule libraries/benchmark
Fetching submodule libraries/freetype2
Fetching submodule libraries/googletest
Fetching submodule libraries/harfbuzz
Could not access submodule 'libraries/magic_get'
Could not access submodule 'libraries/rapidcheck'
Could not access submodule 'libraries/shaderc'
Could not access submodule 'libraries/stb'

git 子模块状态:

git submodule status 
 a145e4adf5e71391d64c0ab150a8c26851cf332d libraries/Eigen (before-git-migration-159-ga145e4adf)
 755fd47121ce0c77ef11818e4987790ae99c2eba libraries/VulkanMemoryAllocator (v2.1.0-334-g755fd47)
 d3ad0b9d11c190cb58de5fb17c3555def61fdc96 libraries/benchmark (v1.5.0-56-gd3ad0b9)
 fbbcf50367403a6316a013b51690071198962920 libraries/freetype2 (VER-2-10-0)
 dcc92d0ab6c4ce022162a23566d44f673251eee4 libraries/googletest (release-1.8.0-2331-gdcc92d0a)
 89ad3c6cc520517af15174391a9725e634929107 libraries/harfbuzz (2.6.5-71-g89ad3c6c)

git 树

git ls-tree -r HEAD
160000 commit a145e4adf5e71391d64c0ab150a8c26851cf332d  Eigen
160000 commit 755fd47121ce0c77ef11818e4987790ae99c2eba  VulkanMemoryAllocator
160000 commit d3ad0b9d11c190cb58de5fb17c3555def61fdc96  benchmark
160000 commit fbbcf50367403a6316a013b51690071198962920  freetype2
160000 commit dcc92d0ab6c4ce022162a23566d44f673251eee4  googletest
160000 commit 89ad3c6cc520517af15174391a9725e634929107  harfbuzz
160000 commit 762a4ec1f4458a84bc19cd6efc1e993add90ec95  libigl
160000 commit 03afd0b83ce67062a105cfcbe80bbca152743f0a  magic_get
160000 commit 7bc7d302191a4f3d0bf005692677126136e02f60  rapidcheck
160000 commit 011139094ec790ff7f32ea2d80286255fc9ed18b  shaderc
160000 commit b42009b3b9d4ca35bc703f5310eedc74f584be58  stb

这曾经在大约 6 个月前起作用

【问题讨论】:

  • 您未能获取的存储库有什么变化吗?也许他们的网址?也许分支主不存在了?
  • 据我所知。所有这些都是相当流行的库,由大型组织维护。如果他们要打破依赖关系,我会感到震惊

标签: linux git github gitlab git-submodules


【解决方案1】:

以防万一,确保所有子模块都已初始化:

git submodule update --init --recursive

然后,再次尝试pull --recurse-submodules=true。

不知何故,activating the traces 改善了情况:

git -c trace2.eventTarget=1 pull --recurse-submodules=true

【讨论】:

  • 尝试此方法后错误仍然存​​在
  • @Makogan 您能否检查缺少的子模块引用了哪个 SHA1(git submodule status 或查看 stackoverflow.com/q/20655073/6309)?目标是检查远程存储库中是否存在该引用。
  • 该命令似乎有效,它提取了所有子模块,即带有事件目标的子模块
  • @Makogan git -c trace2.eventTarget=1 pull --recurse-submodules=true?
  • @Makogan 奇怪!我已经相应地编辑了答案。
猜你喜欢
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 2011-08-27
  • 2010-12-04
  • 1970-01-01
  • 2017-09-12
相关资源
最近更新 更多