Параметр repo -b указывает ветку git-репозитория .repo / manifest, которую необходимо извлечь.Файл default.xml в этом репозитории определяет, в какую ветвь должен быть включен каждый из других git-репозиториев (проектов).
Кажется, что репозиторий написан таким образом, что если вы извлекаете другую ветвь манифеста, это репоповторная синхронизация приведет к повторному извлечению всего кода через сеть.
Вы можете запустить repo forall -c 'git checkout branch_name'
, который будет извлекать указанную ветку для всех проектов, которые объявлены в вашем текущем манифесте, но если есть проекты, добавленные / удаленные междуgingerbread и ics (которые есть), тогда вы не получите код для этих проектов.
Запуск git checkout branchname в репозитории .repo / manifest, а затем запуск синхронизации repo может позволить вам сэкономить некоторые сетевые издержки.
В противном случае, из-за ограничений репо, единственный реальный способ сделать это - сохранить две рабочие копии aosp или быть готовыми к повторной синхронизации.