¿Qué hace efectivamente la init de repo y la sincronización de repo?
He publicado esta pregunta en Android entusiastas, pero pensé que era el lugar equivocado para pedir, así que lo eliminó de allí y pedir "de nuevo" aquí.
Esta es una pregunta noob, y perdóneme si es así, pero sólo quiero entender los conceptos subyacentes claramente. La ayuda de repo de la lectura y la página de referencia del comando de repo de Google no ilumina realmente mucho. He entendido algunos bits de la página de referencia de Google, pero todavía necesito algunas aclaraciones más.
- Comando de repo de Android y ramas de conmutación
- ¿Cómo mostrar las ramas disponibles en el árbol de fuentes de Android?
- GIT: Dos repositorios diferentes con una carpeta compartida
- Clonación de fuentes de Android a un servidor de repositorio local
- Rollback usando el comando repo?
Siguiendo las instrucciones de cómo descargar la fuente de Android, ejecuté estos dos comandos en un shell de Ubuntu: (he tomado cuidado de todos los requisitos previos para el medio ambiente.)
~/android4.2.2$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1.2 ~/android4.2.2$ repo sync -j4
Después de esperar medio día para que el repo terminara de descargar, terminé con 19G de material descargado en el directorio android4.2.2. Entonces, ¿qué sucedió exactamente, y por qué llegó a 19G cuando Google dijo que sólo debería estar esperando alrededor de 8G de archivos de origen?
- Cómo reanudar la sincronización de repo
- ¿Qué sucede detrás de las escenas cuando hago una sincronización de repo?
- ¿Cómo puedo subir mi proyecto Eclipse Android a GitHub?
- Repo con manifiesto local no funciona
- Android Repo init fallido
- ¿Cómo funciona el repositorio de manifiesto de repo de Android?
- Cambiar entre diferentes etiquetas de repo de Android
- Código fuente y repo de Android - ¿Qué está ocurriendo exactamente al obtener el código
repo
es una secuencia de comandos python wrapper para git
, su página de origen de Google lo define como
Repo – La herramienta de repositorio de Git múltiple
-
repo init
comandorepo init
inicializa el repo en el directorio actual. Es decir, descarga la última fuente de repo y un archivomanifest.xml
que describe la estructura de directorios de los repositorios git y almacena todos estos en el subdirectorio.repo
del directorio actual. En su caso, ha utilizado un argumento-b
opcional que se utiliza para seleccionar la sucursal a la caja. De forma predeterminada (es decir, cuando no se utiliza el argumento-b
), se utiliza la rama maestra. -
repo sync
actualiza el árbol de trabajo a la última revisión. Es decir, sincroniza los directorios de proyectos locales con los repositorios remotos especificados en el archivo de manifiesto. Si aún no existe un proyecto local, clonará un nuevo directorio local desde el repositorio remoto y establecerá ramas de seguimiento como se especifica en el manifiesto. Si el proyecto local ya existe, actualizará las sucursales remotas y reajustará los nuevos cambios locales en la parte superior de los nuevos cambios remotos.-j
argumento se utiliza para establecer el número de trabajos paralelos a ejecutar. El valor predeterminado se puede definir en el manifiesto, y también se puede sobreescribir en línea de comandos como en su caso.
¿Por qué llegó a 19G cuando Google dijo que sólo debería estar esperando alrededor de 8G de los archivos de origen?
Eso debería ser porque además de los archivos de origen, obtendrá toda la historia de Android desde el principio del tiempo 🙂
Espero que esto ayude.
- Análisis de audio de Android en tiempo real
- "La configuración de firma se debe especificar en los scripts de compilación de Gradle" … lo hice