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.