Як я можу обмежити розмір джерела Android, який мені потрібно завантажити з "repo sync"?


16

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

Я використовував repo syncдля синхронізації джерела Android (та джерела CyanogenMod на моєму сервері AWS). Але вони настільки великі (> 30 Гб), що я не отримаю їх до того, як покину країну.

Чи є спосіб, щоб я міг виключити код із дерева? Мені потрібен лише пристрій Nexus 7 (wifi) (grouper). Чи можу я виключити будь-які проекти? Якщо так, то як?

Я використовую Ubuntu 12.04 та repo.

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


2
Може, ви можете клонуватись --depth 0так, щоб отримати лише останню редакцію? Або розріджений замовлення: Підкаталог
Каси

Погодьтеся з Nomad. Велика частина джерела - це історія версій. Частини конкретного пристрою не так вже й багато. Крім того, замість того, щоб клонувати всю операційну систему, ви могли просто отримати сховища git за ту частину, яка вас цікавить.
Ніколаз

Величезне спасибі, це неоціненна порада для когось із жахливого інтернет-зв’язку! У файлі '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'ing це локальне.
Кріс

2
Шановний ОП: Ваше питання хороший. Однак ви запитали це на неправильному веб-сайті. Якби ви поставили своє запитання в потрібному місці (на стеку Overflow), ви отримали б більше і кращих відповідей. Я повторно задав подібне запитання щодо Stack Overflow ; будь ласка, заходьте туди, якщо хочете побачити кращі відповіді.
незабутнійідSupportsMonica

Відповіді:


36

Це може бути пізно. Але:

  • Ви можете перейти --depth=1до repo initотримання дрібного клону.
  • І ви можете використовувати repo sync -cдля оформлення замовлення лише поточну гілку.

5
Можливо, вже пізно допомогти первинному запитувачеві. Але ще не пізно допомогти іншим людям, які також хочуть зробити дрібний клон Android.
незабутніidSupportsMonica

6
Чудова порада. Ще одна порада: я використовую repo sync -c -n -j 4 && repo sync -c -l -j 16для швидшого синхронізації
Корнільцев Анатолій

0

Під час виклику синхронізації РЕПО, хоча вибрана конкретна гілка, завантажується код з усіх гілок. Щоб обмежити розмір завантаження, ви можете вручну завантажити код з веб-сайту github. Так, ви можете завантажити код із потрібної гілки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.