是maven发布:分支应该更新分支的scm url?

时间:2014-09-15 08:39:09

标签: maven svn branch release

我在我的pom中有这个:

<scm>
    <connection>scm:javasvn:http://url.com/repo/myProject/trunk</connection>
    <developerConnection>scm:javasvn:http://url.com/repo/myProject/trunk</developerConnection>
    <url>http://url.com/websvn/listing.php?repname=repo&amp;path=/myProject/trunk</url>
</scm>

当我跑步时:

mvn release:branch -DbranchName=myBranch

它在这里成功创建了分支:

http://url.com/repo/myProject/branches/myBranch

但是当我查看这个分支的pom.xml时,“scm”部分仍然与trunk相同

<scm>
    <connection>scm:javasvn:http://url.com/repo/myProject/trunk</connection>
    <developerConnection>scm:javasvn:http://url.com/repo/myProject/trunk</developerConnection>
    <url>http://url.com/websvn/listing.php?repname=repo&amp;path=/myProject/trunk</url>
</scm>

Doc says

  •   

    转换POM中的SCM信息以包含最终信息   标签的目的地

插件是不是应该用“/ branches / myBranch”替换“/ trunk”?或者我们是否应该手动执行此操作?

2 个答案:

答案 0 :(得分:1)

该插件取代&#34; trunk&#34;通过&#34; branches / myBranch&#34;但是不要改变你的工作副本。在新创建的分支中,查看远程pom.xml,该分支的scm信息应该已更改。 maven:如果无法提交更改,则发布失败。

r1643
[maven-release-plugin] prepare for next development iteration
---------------------
r1642
[maven-release-plugin]  copy for branch a-project-1.0
---------------------
r1641
[maven-release-plugin] prepare branch a-project-1.0
---------------------  

您的svn日志在您创建分支的修订版中是否看起来像这样?

在此示例中, r1641 更改了&#34; trunk&#34;的pom scm信息。 to&#34; branches / a-project-1.0&#34;。
r1642 将主干复制到分支机构,创建它 r1643 更改了#34; branches / a-project-1.0&#34;的pom scm信息到&#34; trunk&#34;再次让你留在工作副本中的行李箱。

当我使用maven版本并且失败时,总是在命令行显示错误并在我的工作副本中留下必须删除或使用 mvn --batch-mode清除的临时文件发行:清洁

尝试将scm.url更改为&#34; http://url.com/repo/myProject/trunk&#34;而不是&#34; http://url.com/websvn/listing.php?repname=repo&path=/myProject/trunk&#34; (我不认为maven可以改变你当前的url参数)
然后再次使用: mvn --batch-mode -DbranchName =&#34; A_TEST&#34; -Darguments =&#34; -DskipTests =真&#34;
并检查控制台错误,svn项目根文件夹中的svn日志,还检查本地工作副本修改。 如果一切都没问题而且不行,请检查你的maven运行时版本。我在使用maven时遇到了一些问题:release和maven 3.0.5在发布标签时。我只使用maven 3.1+进行分支/释放自动化目的。

答案 1 :(得分:0)

我替换了

scm:javasvn:http://...

scm:svn:http://...

现在已完成转型。