3

我的单片机连接信息:

<scm>
    <connection>scm:svn:https://repo/project/trunk</connection>
    <developerConnection>scm:svn:https://repo/project/trunk</developerConnection>
</scm>

我的发布插件配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <tag>RC</tag>
        <autoVersionSubmodules>true</autoVersionSubmodules>
    </configuration>
</plugin>

现在,当我运行时,它不会mvn release:prepare在下提交我的标记发布。如何阻止它添加到下?tags/RCtags/RC/trunktrunkRC

4

1 回答 1

5

Brian,您可能是 Maven 不完整release:rollback功能的受害者。请参阅我在 StackOverflow 上的问题及其答案。如果你的标签已经存在,Subversion(不是 Maven)会认为你想在现有标签内复制主干。删除标签,它会工作 - 一次。再试一次,你会得到RC/trunk。再试一次,你会从 Subversion 得到一个错误。

解决方案是svn delete在您尝试复制到标签之前先处理标签 - 我们在 Maven 期间release:perform通过将几个插件绑定到deploy阶段成功地做到了这一点。

基本上:

  • 让我们release:prepare做它的事情,创建一个具有唯一名称的标签。
  • 绑定org.codehaus.mojo:exec-maven-plugin:execdeploy阶段以使其在release:perform. 将其配置为调用svn delete <path to RC tag>.
  • 绑定maven-scm-plugin:branchdeploy以使用 Maven 的 SCM 插件创建新标签。

这对我们有用,它还有一个额外的好处,就是它也为我们提供了独特的标签以供参考。最坏的情况,您可以忽略这些标签。

于 2013-05-21T19:30:25.247 回答