Etiquetado de una versión de Android
Actualmente tengo mi propio espejo del proyecto AOSP. Puedo ramificar manualmente algunos repositorios, pero no estoy seguro de cómo etiquetar todos los repositorios en mi espejo para guardar una versión. ¿Es un comando especial de "repo" para marcar todo?
- La sincronización de Repo se bloquea
- Android Studio Project dice que el proyecto ya está en GitHub a pesar de que he eliminado el repositorio.
- ¿Debo confiar el almacén de la llave de la liberación para el repositorio de la aplicación de Androide al equipo?
- Importar proyecto de gradle, error de android
- Android Studio no puede conectarse a Github a través de proxy
- Github - Error de confirmación después de cambiar el nombre del paquete en la aplicación android: LibGit2Sharp.LockedFileException: El índice está bloqueado
- Android: el prefijo "xmlns" no puede estar enlazado a ningún espacio de nombres explícitamente; Tampoco puede el espacio de nombres para "xmlns" estar vinculado a cualquier prefijo explícitamente
- ¿Se supone que debes registrar el archivo R.java en VCS?
- Gradle script para autoversion e incluir el hash de commit en Android
- La sincronización Repo falla al inicializar el árbol de trabajo CM13
- ¿Cómo obtengo los orígenes de la API de Java?
- Cómo devolver el proyecto a un commit anterior en el estudio android
- Adición de un proyecto de estudio android existente al repositorio gitlab
No hay ningún comando de etiqueta con repo
a mi conocimiento, pero puede utilizar el comando repo forall
:
Algo como:
repo forall -c 'git tag TAGNAME'
Deberia trabajar.
En su caso, probablemente desea etiquetar cada git y la respuesta de @ouah explica cómo, pero vea mi comentario sobre la creación de etiquetas anotadas. Tenga en cuenta que mientras una etiqueta le dice qué commit en ese git era parte de la liberación, todavía no tiene idea de qué gits contienen la etiqueta. Para sincronizar un espacio de trabajo completo para una versión, tendrá que comprobar todos los gits posibles si contienen la etiqueta en cuestión ( git ls-remote
debería ser útil) y crear un manifiesto basado en esa información. Alternativamente, cree un commit en el manifiesto git y liste todos los gits allí (y la etiqueta que se comprometen también).
Ahora, si tiene la intención de crear miles de etiquetas (por ejemplo, porque tiene un trabajo de CI que se ejecuta frecuentemente y que genera todo y desea registrar el estado de cada compilación), debería considerar que Git es algo ineficiente con esa cantidad de referencias. Puede ser más sabio en lugar de crear un manifiesto estático (manifiesto repo manifest -r -o manifest.xml
) que contiene el check-out commit de cada git.
La desventaja es que no se puede decir por ejemplo git diff your-release-1.0..HEAD
pero tiene que buscar el manifiesto estático y recoger el SHA-1 para comparar contra de allí (una tarea que es fácilmente automatizado, obviamente). Lo bueno es que puede sincronizar fácilmente un espacio de trabajo completo, especialmente si almacena los archivos de manifiesto estático en el manifiesto git. Por ejemplo, si los almacena en la rama maestra (independientemente de la rama de manifiesto en la que se hayan creado), puede usarse repo init -u ... -m your-release-1.0.xml
para preparar su área de trabajo.
- El botón de encendido ahora llama a onStop en Actividad en Android KitKat, anteriormente era sólo onPause?
- UUID.fromString () devuelve un UUID no válido?