【问题标题】:Maven Release Plugin and Git Tagging StyleMaven 发布插件和 Git 标记样式
【发布时间】:2017-06-04 16:11:42
【问题描述】:

Maven 发布插件是否在 Git 中执行轻量级或带注释的标签?(另外,如果它默认为轻量级标签,它是否支持带注释的标签?)

例如,我可以使用以下任一方法手动标记项目:

git tag v1.0.0# 轻量级

或者,或者,

git tag -a v1.0.0# 注释

这些是非常不同类型的标签。第一个是轻量级的 Git 标签,第二个是带注释的 Git 标签。

(注意:我知道release:prepare 目标会执行带有POM 更改的提交,这实际上模拟了一个带注释的标签,因为它将标签绑定到一个新的、特定的提交 em>,但我的问题是带注释的标签是否是结果。)

背景: Maven 化 Java 项目上的 Maven 3.3.9 和 Git 2.7.4。在 Google 或 SO 中很难找到这个答案。

更新: Maven 发布插件的标签总是被注释。不支持轻量级标签。请参阅下面的答案和我的 cmets 来证实它。

【问题讨论】:

  • 无需设置发布管理系统即可了解文档中合理预期的有关其功能的基本细节。

标签: git maven tagging release-management maven-release-plugin


【解决方案1】:

虽然我没有找到关于这个问题的文档(也许它已经存在),但我进行了试运行。使用简单的 POM 创建本地 GIT 存储库并执行 maven release:prepare。当我在结果标签上运行git show $MYTAG 时,git 输出包含“Tagger”数据,这表明它是一个带注释的标签。

https://git-scm.com/book/en/v2/Git-Basics-Tagging

https://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html

【讨论】:

  • 我通过后退代码验证了这一点。 Maven Release Plugin 使用 Maven SCM Plugin 使用 Eclipse JGit。 JGit 只创建带注释的标签。然后我能够在forum a response from Robin Rosenberg 中证实这一点,他是JGit Project 的提交者。
猜你喜欢
  • 2012-10-14
  • 2011-05-02
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 2014-08-05
相关资源
最近更新 更多