Etiquetar una versión de Android

Actualmente tengo mi propio espejo del proyecto AOSP. Puedo ramificar manualmente algunos repositorys, pero no estoy seguro de cómo labelr todos los repositorys en mi espejo para save un lanzamiento. ¿Es un command especial "repo" para labelr todo?

No hay ningún command de label con repo que yo sepa, pero puede usar el command repo forall :

Algo como:

 repo forall -c 'git tag TAGNAME' 

Deberia trabajar.

https://source.android.com/source/using-repo.html#forall

En su caso, probablemente quiera labelr cada git y la respuesta de @ouah lo explica, pero vea mi comentario sobre la creación de tags anotadas. Tenga en count que, aunque una label le dice qué compromiso en ese git fue parte del lanzamiento, usted todavía no tiene idea de qué gits contiene la label. Para sincronizar un espacio de trabajo completo para un lanzamiento, deberá verificar todos los gits posibles si contienen la label en cuestión ( git ls-remote debería ser útil), y crear un manifiesto basado en esa información. Alternativamente, crea un commit en el git del manifiesto y haz una list de todos los git (y label ese commit también).

Ahora, si tiene la intención de crear miles de tags (por ejemplo, porque tiene un trabajo de CI en ejecución frecuente que crea todo y desea registrar el estado de cada compilation), debe considerar que Git es algo ineficiente con esa cantidad de references. En su lugar, puede ser más prudente crear un manifiesto estático (manifiesto de repo manifest -r -o manifest.xml ) que contenga la confirmación comprobada de cada git.

El inconveniente es que no se puede decir, por ejemplo, git diff your-release-1.0..HEAD pero hay que search el manifiesto estático y recoger el SHA-1 para comparar desde allí (una tarea que se automatiza fácilmente, obviamente). El aspecto positivo es que puede sincronizar fácilmente un espacio de trabajo completo, especialmente si almacena los files de manifiesto estático en el file de commands de manifiesto. Por ejemplo, si los almacena en la twig principal (independientemente de la twig de manifiesto desde la que se repo init -u ... -m your-release-1.0.xml ), repo init -u ... -m your-release-1.0.xml podría usarse para preparar su área de trabajo.