我最近开始研究android开发(aosp)并阅读" repo"工具/包装器,负责所有android的子项目。
虽然我认为repo在它的工作方面做得相当不错,但我想知道它是否有其他选择。
我认为git子模块已经足够了,但互联网上的很多帖子都不鼓励使用子模块(由于一些"缺点和#34;我觉得这些都不是缺点)。
请记住,不同子项目的源代码应该有自己的版本或独立的代码库我不确定git子树是否是一个很好的解决方案。
如果有人可以指出回购的替代品或任何其他相关信息,那就太好了。
答案 0 :(得分:3)
repo工具是使用AOSP代码库的标准方法。当然你可以自己手动管理回购,但这将是相当无聊和容易出错的。
否则,使用子模块或子树不会让您与Google以及其他在AOSP代码库上工作的人进行互操作,因此,除非您计划进行AOSP的单向分支,否则没有替代方案在AOSP上工作的工具。
答案 1 :(得分:0)
回购有一个巨大的缺点:它会分离HEAD。您不能切换到特定子仓库下的特定分支。除非您执行 repo start
据我了解,tsrc 的功能较少,但没有这个特定问题。
此外,您可以使用构建系统的嵌入式机制,例如Bazel(git_repository / new_git_repository)。