30

我们将 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>.

当我们使用颠覆时,maven 从未使用过<tag></tag>

是什么意思<tag></tag>

我搜索了 google 和 maven 文档,但找不到任何信息。

4

1 回答 1

30

<tag>元素用于release:prepare指定为此版本创建的标签(实现为MRELEASE-723)。在发布之外,它本质上是一个占位符,并且HEAD是一个适当的值。

当我们使用颠覆时,maven 从未使用过<tag></tag>

正如MRELEASE-723解释的那样:

当我使用如下 URL 调用 release:prepare 时, https://example.test/svn/REPO/myproject/branches/release它​​将被替换为https://example.test/svn/REPO/myproject/tags/myproject-1.0 which 很好,因为现在您知道要签出哪个版本来构建版本。

发布版本的<scm>元素应该包含足够的信息来检查为此版本创建的标签。

Subversion 允许将标签包含在连接 URL 中。Git 和 Mercurial 都不允许这样做,因此<tag>使用该元素。

于 2014-05-18T07:03:21.437 回答