Android repo command and switching branches

Czuję, że dobrze rozumiem Gita, ale jeśli chodzi o komendę repo, gubię się. Czytałem o komendzie repo, ale nadal Nie wiem, jak to wszystko łączy.

Moje największe pytanie brzmi: Czy Mogę zmienić moje obecne gałęzie z piernika na ICS i ewentualnie z powrotem?

Widzę polecenie:

repo init -u https://android.googlesource.com/platform/manifest

Z mojego zrozumienia, to stworzy repo z gałęzi master. Jeśli chcę określić gałąź, mogę zrobić:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

The ściąganie to chyba około 8GB, więc nie chcę musieć wysadzić mojego repo, jeśli udostępnią kod. czy jest sposób na zmianę gałęzi w repo?

Author: Yury, 2012-02-01

2 answers

Jeśli uruchomisz repo init po raz drugi z inną gałęzią, możesz po prostu repo sync i nie pobierze całego kodu źródłowego ponownie.

 42
Author: gparent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-14 19:28:34

Parametr repo-b określa gałąźrepo / manifestuje repozytorium git, które powinno zostać sprawdzone. Domyślne.plik xml w tym repozytorium określa, na której gałęzi powinny znajdować się Pozostałe repozytoria (projekty) Gita.

Wygląda na to, że repo jest napisane w taki sposób, że jeśli ponownie sprawdzisz inną gałąź manifestu to repo sync ponownie ściągnie cały kod przez sieć.

Możesz uruchomić repo forall -c 'git checkout branch_name', który wykona określoną gałąź dla wszystkich projektów które są zadeklarowane w aktualnym manifeście, ale jeśli są projekty dodane/usunięte między gingerbread i ics( które są), to nie otrzymasz kodu dla tych projektów.

Uruchamianie Git checkout branchname w .repo / manifestuje repozytorium, a następnie uruchomienie repo sync może umożliwić zapisanie narzutu sieciowego.

W Przeciwnym Razie, ze względu na ograniczenia repo, jedynym realnym sposobem, aby to zrobić, jest utrzymanie dwóch kopii roboczych aosp lub być przygotowanym do ponownej synchronizacji.

 5
Author: aultimus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-24 10:42:11