我在我的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&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&path=/myProject/trunk</url>
</scm>
转换POM中的SCM信息以包含最终信息 标签的目的地
插件是不是应该用“/ branches / myBranch”替换“/ trunk”?或者我们是否应该手动执行此操作?
答案 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://...
现在已完成转型。