获取mvn版本:回滚以删除GIT中的标签

问题描述 投票:6回答:3

我有一个Maven项目,该项目存储在我们的GIT存储库中。当我使用mvn release:preparemvn release:perform发布该项目时,有时它在后续步骤中会失败,但是无论如何都会为此版本创建一个标签。此标签不会被mvn release:rollback删除,如果我再次尝试准备发布,它将失败,并显示以下标签已存在错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:2.5.2:prepare (default-cli) on project lwl-module: Unable to tag SCM
[ERROR] Provider message:
[ERROR] The git-tag command failed.
[ERROR] Command output:
[ERROR] fatal: tag 'lwl-module-1.5.1' already exists
[ERROR] -> [Help 1]
[ERROR]

是否有办法让mvn release:rollback删除GIT存储库中的最后一个标签?

我正在使用此发行插件:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.5.2</version>
        </plugin>
git maven rollback maven-release-plugin git-tag
3个回答
3
投票

Maven版本插件当前不支持此。

参见此处:http://maven.apache.org/maven-release/maven-release-plugin/examples/rollback-release.html

在SCM中为该版本创建的分支/标签已删除。注意:这尚未实现,因此您将需要从SCM中手动删除分支/标签。有关更多信息,请参见MRELEASE-229

[票证(https://issues.apache.org/jira/browse/MRELEASE-229)自2007年以来一直开放。


2
投票

取决于导致mvn release:perfom失败的问题,您也可以不回滚发行版,并且在解决问题后直接运行mvn release:perform,而不运行mvn release:prepare


0
投票

插件版本3.0.0-M1修复了此问题。以前的版本不会删除该标签。

我将其发布为答案以使其更加明显。我从@jechterhoff评论中得到的。请投票给他。

© www.soinside.com 2019 - 2024. All rights reserved.