据我所知,大多数团队使用的脚本会拉下 Google 版本的 Android 并将其直接推送到他们的 Gerrit 服务器,绕过审查。清单 xml 文件中没有可以帮助解决此问题的设置。
一些 Android 商店希望为上游分支和标签使用不同的命名空间。例如,它们可能会在所有内容前加上- 、和,而不是master
andfroyo
分支和标签。android-4.1.1_r6
external
external/master
external/froyo
external/android-4.1.1_r6
其他商店以类似的方式为其内部分支和标签添加前缀。
您执行此工作的脚本将与此类似(未经测试)。--mirror
首先使用该选项从上游设置本地 repo 克隆。
# this only needs to be ran once, or for any new repositories added to repo:
repo forall -c \
'git remote add local_server ssh://path/to/local/gerrit:29418/$REPO_PROJECT'
# fetch changes
repo forall -c 'git fetch'
# push to your local Gerrit server
repo forall -c 'git push local_server refs/*:refs/external/*'
当然,您可以使用 cron 作业来自动执行此脚本。一旦这到位,当开发人员运行时,git branch -r
他们将看到来自上游的 origin/external/blah 分支,并且可以基于这些分支进行 rebase。