12

我最近开始研究 android 开发 (aosp) 并阅读了有关处理所有 android 子项目的“repo”工具/包装器。

虽然我认为 repo 在它的作用上做得相当好,但我想知道是否有任何替代方案。

我认为 git 子模块就足够了,但是互联网上的许多帖子不鼓励使用子模块(由于一些我认为根本不是缺点的“缺点”)。

请记住,不同子项目的源代码应该有自己的版本或独立的代码库,我不确定 git subtree 是否是一个很好的解决方案。

如果有人可以指出回购的一些替代方案或有关此的任何其他信息,那就太好了。

4

2 回答 2

4

repo 工具是使用 AOSP 代码库的标准方式。当然,您可以自己手动管理存储库,但这会相当烦人且容易出错。

否则,使用子模块或子树将无法让您与 Google 和其他所有在 AOSP 代码库上工作的人进行交互操作,因此除非您计划对 AOSP 进行单向分叉,否则在 AOSP 上工作的 repo 工具别无选择.

于 2015-07-08T00:15:56.963 回答
1

repo有一个巨大的缺点:它分离了 HEAD。您不能切换到特定 subrepo 下的特定分支。除非你做repo start

tsrc据我所知,功能较少,但没有这个特定问题。

此外,您可以使用 Bazel (git_repository/new_git_repository) 等构建系统的嵌入式机制。

于 2020-04-18T22:14:09.357 回答