Reducir el tamaño del directorio de repositorio de fuentes de Android .repo

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

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

La etiqueta más reciente era android-5.0.0_r2 . Me di cuenta de mi directorio .repo es ahora de 30 GB de tamaño. ¿Es ese el tamaño esperado? Si no, entonces estoy especulando que tengo la historia de las otras ramas / etiquetas que he utilizado almacenado en el directorio .repo.

¿Hay una manera de reducir el tamaño del directorio .repo? Me gustaría limitar a sólo la fuente / objetos / imágenes / etc. Necesito para la rama en particular en la que estoy trabajando. El espacio en el disco duro es más importante para mí que el tiempo de descarga.

Veo git gc se utiliza en repositorios .git, pero que no funciona en este caso. ¿Existe un equivalente para los repositorios .repo?

Nota: He repo prune , pero eso no redujo el tamaño del directorio .repo.

La bandera -c no parece estar soportada más, pero esto es lo que puedes hacer.

En el momento de escribir, repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 crea un valor de 33GB de archivos.

Añadiendo --depth=1 reduce esto a 21GB .

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

Para el almacenamiento sólo, puede quitar los archivos desprotegidos para cada repositorio .git dentro de .repo / para ahorrar aún más espacio, pero no estoy seguro de cómo escribir esto. Si lo hiciste, la repo sync vería los archivos "perdidos" cuando fuera necesario.

Para referencia, mi línea de comandos completa fue
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 árbol sólo funcionaría para el Nexus 4. Todavía no he intentado construir desde este árbol, pero no hay razón para que no funcione.

También puede eliminar proyectos que no utiliza especificando un manifiesto local o incluso trabajar desde un sistema de archivos comprimido como btrfs con las opciones de montaje correctas, pero no estoy seguro del impacto en el rendimiento.

No probado, pero creo que puede utilizar el -c para descargar sólo las sucursales que necesita actualmente.

Con ese indicador, el repo sólo descargará la revisión (rama) que se especifica en el manifiesto, no todas las ramas que están en el servidor remoto. Por lo tanto, nos ahorrará un poco de espacio, y de nuevo tomará menos tiempo para descargar.

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

  • Android Git Tag en Jenkins
  • Cordova Custom Plugin "Argumentos a path.join deben ser cadenas"
  • No se puede enviar la carpeta "gen" de android a Git
  • Módulo Gradle y submódulo git
  • Merge o Rebase o Branch Default en Android Studio? ¿Cuáles son las diferencias?
  • Línea de comandos de Gradle: falló al encontrar el objetivo android-22
  • Git en Android Studio desapareció?
  • android: No se puede ejecutar el programa CreateProcess error = 5, se deniega el acceso
  • Dos proyectos de android comparten módulo común en el mismo repositorio usando gradle
  • La mejor manera de cambiar las versiones del repositorio de android eficientemente una vez descargado usando repo / git
  • Importar el proyecto de Android Studio de git en Android Studio (Gradle)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.