gpt4 book ai didi

android - Android repo list 存储库如何工作?

转载 作者:IT王子 更新时间:2023-10-28 23:52:29 25 4
gpt4 key购买 nike

Android sourcelarge hierarchy of git repositories .它们由名为 repo 的自定义脚本管理。 . Repo 使用 manifest.xml 确定要管理的 git 存储库。 manifest.xml of Android与所有其他 git 存储库一起托管在 git 存储库中。

如何在 Android 中管理此存储库?具体来说,不同的分支和托管在每个分支中的不同文件是如何组织的?

最佳答案

首先repo init创建.repo目录,克隆git仓库https://android.googlesource.com/tools/repo.repo/repo,以及使用 -u 选项指定的 git 存储库到 .repo/manifests.git 的裸存储库。之后,它创建 .repo/manifests 目录,通过创建从 .repo/manifests/.git.repo 的符号链接(symbolic link)将其转换为 git 存储库/manifests.git。然后它检查 -b 中指定的分支,并创建一个符号链接(symbolic link) .repo/manifest.xml 指向指定的文件(-m 选项)在 .repo/manifests 中,默认为 .repo/manifests/default.xml

大致如下:

  repo init -u $URL -b $BRANCH -m $MANIFEST  --------------------  mkdir .repo; cd .repo  git clone https://android.googlesource.com/tools/repo  git clone --bare $URL manifests.git  mkdir -p manifests/.git; cd manifests/.git  for i in ../../manifests.git/*; do ln -s $ı .; done  cd ..  git checkout $BRANCH -- .  cd ..  ln -s manifests/$MANIFEST manifest.xml  

您可以使用 repo --trace init ...

跟踪实际发生的情况

然后,repo sync 为 manifest.xmllocal_manifest.xml 中的每个项目将 git 存储库克隆到 .repo/projects,创建工作.git 的目录具有指向相应裸存储库的符号链接(symbolic link), check out list 中指定的分支,并更新 .repo/project.list。项目已经存在的情况略有不同,本质上是执行 git pull --rebase

关于android - Android repo list 存储库如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com