自从两个月前我们开始使用 Git 子模块以来,我目前正在尝试恢复我们的项目 PPA,并且导入到 Bazaar 停止工作,因为它不支持子模块。所以我删除了 bzr 并成功地将我们的存储库作为 Git 导入到 Launchpad。
可悲的是,在我尝试使用新创建的配方构建它之后,构建失败了,因为存储库没有递归克隆并且子模块仍然不存在。我在 Launchpad 自己的文档中找不到任何帮助,虽然它的支持功能称为“嵌套”,但它似乎不是解决递归克隆的好选择。
如何在构建之前递归创建 Launchpad 克隆存储库?
目前还没有办法做到这一点,但这是一个已知的错误,应该可以修复。(如果您很着急,请随意深入研究 git-build-recipe 源代码并提出修复方案。)
不过,有一个解决方法。首先,导入Launchpad中的所有子模块(您可以使用不同的项目,也可以在同一项目中使用不同的git存储库)。
例如,以下是Marker的源包配方。标记需要子模块scidown,需要charter,需要tinyexpr。
首先,我在 Launchpad 上注册了这些项目,并将 GitHub 存储库镜像到lp:scidown、lp:charter和lp:tinyexpr。
来源配方是,
# git-build-recipe format 0.4 deb-version 2020.04.04-0~{revtime}
lp:marker master
nest scidown lp:scidown src/scidown a7b7f063de4f272ef0ec12d00b98470888e8cb32
nest charter lp:charter src/scidown/src/charter a25dee1214ea9ba5882325066555cb813efbb489
nest tinyexpr lp:tinyexpr src/scidown/src/charter/src/tinyexpr 9476568b69de4c384903f1d5f255907b92592f45
Run Code Online (Sandbox Code Playgroud)
第二行告诉启动板使用masterlp:marker 分支。
第三行将 lp:scidown (在提交中a7b7f063de4f272ef0ec12d00b98470888e8cb32)的全部内容复制到src/scidown标记存储库中。
第四行将 lp:charter (提交的a25dee1214ea9ba5882325066555cb813efbb489)的全部内容复制到src/scidown/src/charterMarker 存储库中(charter 是构建 scidown 所需的子模块)。
第三行将 lp:tinyexpr (提交的9476568b69de4c384903f1d5f255907b92592f45)的全部内容复制到src/scidown/src/charter/src/tinyexpr标记存储库中(tinyexpr 是构建章程所需的子模块)。
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |