Jak mogę ograniczyć rozmiar źródła Androida, które muszę pobrać za pomocą „synchronizacji repo”?


16

Planuję wyjechać do kraju ze słabym połączeniem internetowym, w którym mam nadzieję zrobić oprogramowanie.

I był używany repo syncdo synchronizacji Android (źródło i źródło CyanogenMod na moim serwerze AWS). Ale są tak duże (> 30 GB), że nie dostanę ich przed wyjazdem z kraju.

Czy jest jakiś sposób na wykluczenie kodu z drzewa? Potrzebuję tylko urządzenia Nexus 7 (wifi) (grouper). Czy mogę wykluczyć jakiekolwiek projekty? Jeśli tak to jak?

Używam Ubuntu 12.04 i repozytorium.

(Używam tabletów z Androidem do edukacji dzieci w bardzo biednych częściach świata. Chcę zablokować interfejs użytkownika, aby dzieci mogły korzystać tylko z aplikacji edukacyjnych. Jako środek antykradzieżowy muszę umożliwić tworzenie hot spotu Wi-Fi i spraw, aby tablety same się wyłączały, jeśli nie będą połączone z innymi tabletami przez Wi-Fi przez 48 godzin).


2
Może możesz sklonować --depth 0, aby uzyskać tylko najnowszą wersję? Lub rzadkie kasy: podkatalog kasy z git rzadkie kasy »Code Nomad
— slhck

Zgadzam się z Nomadem. Duża część źródła to historia wersji. Części specyficzne dla urządzenia to niewiele. Ponadto zamiast klonowania całego systemu operacyjnego, możesz po prostu zdobyć repozytoria git dla części, którą jesteś zainteresowany.
— Nicholaz

Ogromne dzięki, to nieoceniona rada dla kogoś, kto ma straszne połączenie internetowe! W pliku „repo” znajduje się sekcja: group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')Zmieniłem domyślną głębokość na 0 i ponownie uruchomiłem synchronizację repo. Zgłosię się, jeśli zrobię to, co chcę.
— Chris

Nie jestem pewien, czy to zadziałało, czy nie - pełne źródło nadal miało 42 GB, co, jak ktoś mówi, to pełne drzewo. Nie mogę jeszcze potwierdzić, ponieważ jestem w połowie ftp'ingu lokalnego.
— Chris

2
Drogi OP: Twoje pytanie jest dobre. Jednak zapytałeś o to na niewłaściwej stronie internetowej. Gdybyś zadał pytanie we właściwym miejscu (w przypadku przepełnienia stosu), uzyskałbyś więcej lepszych odpowiedzi. Ponownie zadałem podobne pytanie na temat przepełnienia stosu ; przejdź tam, jeśli chcesz zobaczyć lepsze odpowiedzi.
— unforgettableidSupportsMonica

Odpowiedzi:


36

To może być za późno. Ale:

  • Można przejść --depth=1do repo initdostać płytkie klona.
  • I możesz użyć repo sync -cdo kasy tylko bieżącego oddziału.

5
Może być za późno, by pomóc pierwotnemu pytającemu. Ale nie jest za późno, aby pomóc innym ludziom, którzy również chcą zrobić płytki klon Androida.
— unforgettableidWspiera

6
Świetna wskazówka. Jeszcze jedna wskazówka: używam repo sync -c -n -j 4 && repo sync -c -l -j 16do szybszej synchronizacji
— Korniltsev Anatoly

0

Podczas wywoływania synchronizacji repo, chociaż wybrano określoną gałąź, kod ze wszystkich gałęzi jest pobierany. Aby ograniczyć rozmiar pobierania, możesz ręcznie pobrać kod ze strony internetowej github. W ten sposób możesz pobrać kod z oddziału, który chcesz.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.