Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿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.

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 comprobar la fuente de Android de github
  • Rollback usando el comando repo?
  • Android Source Repo GPG clave pública no encontrada
  • ¿Cómo mostrar las ramas disponibles en el árbol de fuentes de Android?
  • Clonación de fuentes de Android a un servidor de repositorio local
  • Android Repo init fallido
  • Utilizando un local_manifest.xml con repo
  • ¿Qué es Repo y por qué Google lo usa?
  • One Solution collect form web for “¿Qué hace efectivamente la init de repo y la sincronización de repo?”

    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

    1. repo init comando repo init inicializa el repo en el directorio actual. Es decir, descarga la última fuente de repo y un archivo manifest.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.

    2. 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.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.