web-dev-qa-db-fra.com

À quoi sert Maven pom.xml - l'élément <tag> à l'intérieur de <scm> lorsque vous utilisez git

Nous utilisons maven et git ensemble pour un projet Java. Dans <scm> section, <tag> est automatiquement ajouté par le plugin de version.

Par exemple,

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

Qu'est-ce que <tag> représenter ici?

Je crois que la convention normale est <tag>HEAD</tag>.

Lorsque nous utilisions Subversion, maven n'a jamais utilisé <tag></tag>

Quel est le sens de <tag></tag>?

J'ai cherché dans la documentation google et maven mais je ne trouve aucune information dessus.

25
mjlee

L'élément <tag> Est utilisé par release:prepare Pour spécifier la balise qui a été créée pour cette version (implémentée comme MRELEASE-72 ). En dehors d'une version, il s'agit essentiellement d'un espace réservé et HEAD est une valeur appropriée.

Lorsque nous utilisions Subversion, maven n'a jamais utilisé <tag></tag>

Comme l'explique MRELEASE-723:

quand j'invoque la version: préparez-vous avec une URL comme: https://example.test/svn/REPO/myproject/branches/release elle sera remplacée par https://example.test/svn/REPO/myproject/tags/myproject-1.0 ce qui est bien parce que vous savez maintenant quelle révision vérifier pour construire la version.

L'élément <scm> Pour une version doit contenir suffisamment d'informations pour extraire la balise créée pour cette version.

Subversion permet à la balise d'être incluse dans l'URL de connexion. Ni Git ni Mercurial ne le permettent, donc l'élément <tag> Est utilisé à la place.

25
Joe