如何抑制“引用相对 ssh 引用”警告?

问题描述 投票:0回答:1

我有一个应用程序配方,可以从 Git 存储库获取源代码。应用程序的存储库包含子模块。要获取带有子模块的源代码,我使用下面的

SRC_URI
。注意
gitsm
而不是
git
参见

SRC_URI += "gitsm://<repo address>;protocol=ssh;branch=development"

当我编译这个食谱时,出现以下警告。

WARNING: <recipe name>-1.0+gitAUTOINC+60c254fbd3-r0 
do_fetch: Submodule included by gitsm://<repo address>;protocol=ssh;branch=development refers to relative ssh reference <submodule address>.  
References may fail if not absolute

如何抑制此警告?


附加信息:

  • BitBake 2.4.0
  • Poky 4.2 米克多尔
  • Ubuntu 22.04
yocto bitbake
1个回答
0
投票

检查

.gitmodules
存储库中的
<repo address>
文件。它可能看起来像这样:

[submodule "<submodule>"]
    path = path/to/submodule
    url = <submodule address>

如果子模块托管在与主存储库相同的位置(例如

github.com/username/repo
github.com/username/submodule
),您可以使用相对子模块 URL,这将删除警告。它看起来像

[submodule "<submodule>"]
    path = path/to/submodule
    url = ../submodule

如果您的子模块托管在其他地方(例如

github.com/username/repo
github.com/otheruser/submodule
gitlab.com/someotheruser/submodule
),那么您将无法使用绝对 URL,从而导致这些 bitbake 警告。

git参考中的相关文档

<repository>
是新子模块的原始存储库的 URL。这可以是绝对 URL,或者(如果以 ./ 或 ../ 开头)相对于超级项目的默认远程存储库的位置(请注意,要指定位于紧邻的存储库 foo.git)一个超级项目 bar.git,你必须使用
../foo.git
而不是
./foo.git
- 正如人们在遵循相对 URL 规则时可能期望的那样 - 因为Git 中相对 URL 的评估与相对目录的评估相同)。


相对子模块路径很棒!它允许开发人员在克隆主存储库时选择他们的传输(ssh、https),并且他们选择的传输也将由子模块继承。

© www.soinside.com 2019 - 2024. All rights reserved.