当前位置:网站首页>Repo process

Repo process

2022-06-09 13:31:00 idea studio

First, repo init creates the .repo directory, clones the git repository https://android.googlesource.com/tools/repo to .repo/repo, and the git repository specified with the -u option to a bare repository at .repo/manifests.git.
After that, it creates the .repo/manifests directory, converts it into a git repository through creating symbolic links from .repo/manifests/.git to .repo/manifests.git.
It then checks out the branch specified in -b, and creates a symbolic link .repo/manifest.xml pointing to the specified file (-m option) in .repo/manifests, by default .repo/manifests/default.xml.

Roughly as follows:

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 B R A N C H − − . c d . . l n − s m a n i f e s t s / BRANCH -- . cd .. ln -s manifests/ BRANCH.cd..lnsmanifests/MANIFEST manifest.xml
You can trace what really happens with repo --trace init …

Then, repo sync clones git repositories to .repo/projects for each project in manifest.xml and local_manifest.xml,
creates working directories with .git having symlinks to the corresponding bare repository, checks out the branch specified in the manifest,
and updates .repo/project.list. The case where the projects are already there is slightly different, essentially performing a git pull --rebase.

原网站

版权声明
本文为[idea studio]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/160/202206091222590074.html