1

repo - это скрипт на python, который управляет загрузкой исходного кода cyanogenmod.

скачать ветку cm-10.1, команда repo есть,

кд ~/ см-10,1

репозиторий init -u https://github.com/CyanogenMod/android.git -b cm-10.1

кд ~/ см-11

тогда мы можем использовать опцию --reference для загрузки исходного кода cm-11, например

репо init --reference = ~/cm-10.1 -u https://github.com/CyanogenMod/android.git -b cm-11.0

но это загружает дельта-данные в каталог cm-11.

Я хочу скачать все ветки cyanogenmod в одном каталоге и собрать как требуется. Как я могу это сделать?

1 ответ1

0

Поскольку вы используете один и тот же URL-адрес для всех ветвей, вы можете загрузить их в одну папку, но они по-прежнему хранятся отдельно.

Вы можете загрузить несколько веток файлов проекта в одну папку .repo в одном рабочем каталоге. Это экономит дисковое пространство и исключает препятствия , как путь repo --reference чувствительны репо, неспособность использовать несколько ссылок.

Чтобы загрузить все ветви в одну папку .repo , выполните

repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1
repo sync
repo init -b cm-10.2
repo sync
repo init -b cm-11.0
repo sync

и список идет ..
Это загрузит все ветви в одну папку .repo в одном рабочем каталоге. При инициализации второй ветви мы не предоставляем опцию -u url потому что мы повторно используем другую ветку из локального репо.

После repo sync рабочая директория содержит последнюю инициализированную ветку, и это абсолютно безопасно. Нас интересует только рабочий каталог, а не содержимое папки .repo . Ветви все еще остаются отдельными.

Вы можете иногда использовать repo forall -c git gc чтобы упаковать все потерянные объекты в файлы пакета.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .