Reduzca el tamaño del directory .repo del repository fuente de Android

He estado cambiando entre varias twigs del código fuente de Android con los commands como:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2 repo sync 

La label más reciente era android-5.0.0_r2 . Noté que mi directory .repo ahora tiene 30 GB de tamaño. ¿Es ese el tamaño esperado? Si no, entonces estoy especulando que tengo historial de las otras twigs / tags que he usado almacenadas en el directory .repo.

¿Hay alguna forma de networkingucir el tamaño del directory .repo? Me gustaría limitarme solo a la fuente / objects / imágenes / etc. Necesito la twig en particular en la que estoy trabajando. El espacio de HDD es más importante para mí que el time de descarga.

Veo que git gc se usa en los repositorys .git, pero eso no funciona en este caso. ¿Hay un equivalente para repositorys .repo?

Nota: Intenté repo prune , pero eso no networkingujo el tamaño del directory .repo.

El indicador -c ya no parece ser compatible, pero esto es lo que puedes hacer.

En el momento de escribir este artículo, repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 crea files de 33GB .

Agregar --depth=1 networkinguce esto a 21GB .

Agregar --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5 para excluir dispositivos y componentes que no le interesan networkinguce esto a 19GB .

Solo para almacenamiento, puede eliminar los files desprotegidos para cada repository de .git dentro de .repo / para ahorrar aún más espacio, pero no estoy seguro de cómo hacer esto. Si hiciera esto, la repo sync verificaría los files "faltantes" cuando sea necesario.

Como reference, mi línea de command completa era
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 --depth=1 --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5,mako
por lo que este tree solo funcionaría para el Nexus 4. Aún no he intentado build a partir de este tree, pero no hay razón por la que no funcione.

También puede eliminar proyectos que no está utilizando al especificar un manifiesto local , o incluso trabajar desde un sistema de files comprimido como btrfs con las opciones de assembly correctas, pero no estoy seguro del impacto en el performance.

No probado, pero creo que puedes usar el -c para download solo las twigs que necesitas actualmente.

Con esa bandera, el repository solo downloadá la revisión (sucursal) que se especifica en el manifiesto, no todas las sucursales que están en el server remoto. Por lo tanto, nos ahorrará un poco de espacio y, nuevamente, le llevará less time download.

Fuente y más información: http://xda-university.com/as-a-developer/repo-tips-tricks