Каково использование элемента Maven pom.xml - <tag> внутри <scm>, когда вы используете git

Мы используем maven и git вместе для проекта Java. В разделе <scm> <tag> автоматически добавляется плагином релиза.

Например,

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

Что здесь представляет <tag>?

Я считаю, что нормальным соглашением является <tag>HEAD</tag>.

Когда мы использовали subversion, maven никогда не использовал <tag></tag>

Что означает <tag></tag>?

Я искал документацию Google и Maven, но не могу найти какую-либо информацию о нем.

Ответы

Ответ 1

Элемент <tag> используется release:prepare для указания тега, который был создан для этой версии (реализован как MRELEASE-723), Вне релиза он по существу является заполнителем, а HEAD является подходящим значением.

Когда мы использовали subversion, maven никогда не использовал <tag></tag>

Как MRELEASE-723 объясняет:

когда я вызываю release: подготовьте URL-адрес: https://example.test/svn/REPO/myproject/branches/release это будет заменен на https://example.test/svn/REPO/myproject/tags/myproject-1.0это нормально, потому что теперь вы знаете, какая версия для проверки создавая выпуск.

Элемент <scm> для сборки релиза должен содержать достаточно информации, чтобы проверить тег, который был создан для этой версии.

Subversion позволяет включать тег в URL-адрес соединения. Ни Git, ни Mercurial не допускают этого, поэтому вместо этого используется элемент <tag>.