Как я могу ограничить размер источника Android, который мне нужно загрузить с помощью «repo sync»?

16

Я планирую уехать в страну с плохим интернет-соединением, где я надеюсь заняться разработкой программного обеспечения.

Я использую repo syncдля синхронизации источник Android (и источник CyanogenMod на моем сервере AWS). Но они настолько большие (> 30 ГБ), что я не получу их, пока не покину свою страну.

Есть ли способ исключить код из дерева? Мне нужно только устройство Nexus 7 (Wi-Fi) (Grouper). Могу ли я исключить какие-либо проекты? Если так, то как?

Я использую Ubuntu 12.04 и репо.

(Я использую планшеты Android для обучения детей в очень бедных частях света. Я хочу заблокировать пользовательский интерфейс, чтобы дети могли использовать только образовательные приложения. В качестве меры защиты от кражи мне нужно разрешить создание точки доступа Wi-Fi и заставьте планшеты отключаться, если они не подключены к другим планшетам через Wi-Fi в течение 48 часов.)

Крис
источник
2
Может быть, вы можете клонировать, --depth 0чтобы получить только последнюю версию? Или редкая проверка: извлечение из подкаталога с помощью git sparse-checkout »Code Nomad
slhck
Согласитесь с Номадом. Большая часть источника - история версий. Особых деталей устройства не так уж много. Кроме того, вместо клонирования всей операционной системы вы можете просто получить git-репозитории для интересующей вас части.
Nicholaz
Огромное спасибо, это бесценный совет для кого-то по ужасному интернет-соединению! В файле 'repo' есть раздел: group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')я изменил глубину по умолчанию на 0 и перезапустил синхронизацию репо. Я доложу, если это сделает то, что я хочу.
Крис
Не уверен, сработало ли это или нет - полный источник был все еще 42 ГБ, который кто-то говорит, что полное дерево. Пока не могу подтвердить, так как я на полпути через ftp'инг локально.
Крис
2
Уважаемый ОП: Ваш вопрос хороший. Однако вы спросили об этом на неправильном веб-сайте. Если бы вы задали свой вопрос в нужном месте (при переполнении стека), вы бы получили больше и лучшие ответы. Я повторно задал похожий вопрос о переполнении стека ; пожалуйста, зайдите туда, если вы хотите увидеть лучшие ответы.
незабываемыйПоддержкаMonica

Ответы:

36

Это может быть слишком поздно. Но:

  • Вы можете пройти, --depth=1чтобы repo initполучить мелкого клона.
  • И вы можете использовать repo sync -cдля проверки только текущую ветку.
Ракеш
источник
5
Это может быть слишком поздно, чтобы помочь первоначальному аскеру. Но еще не поздно помочь другим людям, которые тоже хотят сделать мелкий клон Android.
незабываемыйПоддержкаMonica
6
Отличный совет. Еще один совет: я использую repo sync -c -n -j 4 && repo sync -c -l -j 16для более быстрой синхронизации
Корнильцев Анатолий
0

Во время синхронизации репо, хотя и выбрана конкретная ветка, загружается код из всех ветвей. Чтобы ограничить размер загрузки, вы можете вручную загрузить код с веб-сайта github. Таким образом, вы можете скачать код из ветки, которую вы хотите.

Абитата Рой
источник