git maven maven-scm

¿Cuál es el uso del elemento Maven pom.xml-<tag> dentro de<scm> cuando está utilizando git?



maven-scm (1)

Estamos utilizando maven y git juntos para un proyecto Java. En la sección <scm> , <tag> se agrega automáticamente con el complemento de lanzamiento.

Por ejemplo,

<scm> <connection>scm:git:http://myserver:7990/scm/project/test.git</connection> <tag>releaes-tag</tag> </scm>

¿Qué representa <tag> aquí?

Creo que la convención normal es <scm>HEAD</scm>.

Cuando estábamos usando Subversion, Maven nunca usó <tag></tag>

¿Cuál es el significado de <tag></tag> ?

Busqué en Google y en la documentación de Maven pero no puedo encontrar ninguna información al respecto.


El elemento <tag> se usa por release:prepare para especificar la etiqueta que se creó para esta versión (implementada como MRELEASE-723 ). Fuera de un lanzamiento, es esencialmente un marcador de posición, y HEAD es un valor apropiado.

Cuando estábamos usando Subversion, Maven nunca usó <tag></tag>

Como explica MRELEASE-723 :

cuando invoco release: prepare con una URL como: https://example.test/svn/REPO/myproject/branches/release será reemplazado por https://example.test/svn/REPO/myproject/tags/myproject-1.0 cual está bien porque ahora usted sabe qué revisión de verificación para crear la versión.

El elemento <scm> para una versión de lanzamiento debe contener suficiente información para revisar la etiqueta que se creó para esta versión.

Subversion permite que la etiqueta se incluya en la URL de conexión. Ni Git ni Mercurial lo permiten, por lo que se utiliza el elemento <tag> .