使用maven从标记创建分支

时间:2010-09-28 11:32:33

标签: svn maven-2 branch

我在trunk中开发并使用maven发布插件定期标记“稳定版本”。例如:

/trunk is MyProject 1.1-SNAPSHOT

创建稳定版本

/tags/MyProject-1.1

工作正常,没有问题,只是完美。

有时候我必须部署一个修补程序但是主干还没准备好。所以我需要一个最后一个稳定标签的分支。妈妈可以帮帮我吗?目前我将标签复制到新的分支位置 /branches/MyProject-1.1.1-SNAPSHOT并使用mvn versions:set

更新版本

2 个答案:

答案 0 :(得分:8)

  

所以我需要最后一个稳定标签的分支。妈妈可以帮助我吗?

Maven Release Plugin及其release:branch可以提供帮助。检查标记并从标记创建分支:

  

默认情况下,新分支中的POM   保持与本地版本相同的版本   工作副本,和当地的POM   递增到下一个版本。如果   您想要更新新版本   分支而不是工作副本,   运行:

mvn release:branch -DbranchName=my-branch -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false
     

注意:如果您愿意,这可能很有用   从标签

创建分支      

在命令行上指定版本

     

您可能需要指定版本   在命令行上使用。这个可以   例如,如果你是有用的   以非交互方式运行发布   模式。分支目标可以使用相同的目标   准备目标使用的属性   用于指定版本   使用

mvn --batch-mode release:branch -DbranchName=my-branch-1.2 -Dproject.rel.org.myCompany:projectA=1.2 \
     -Dproject.dev.org.myCompany:projectA=2.0-SNAPSHOT
     

在这个例子中,新的POM   分支将设置为版本   1.2-SNAPSHOT,本地POM将设置为2.0-SNAPSHOT版本。

资源

答案 1 :(得分:4)

如果你在svn中有一个带有trunk / tags / branches结构的标准项目:

MyProject
   \trunk
   \branches
       \theOldBranch
   \tags
       \MyProject-1.1
       \MyProject-1.2
       \MyProject-1.3

你应该

mvn release:branch -DbranchName = theNewBranchFrom12 -DupdateBranchVersions = true -DupdateWorkingCopyVersions = false -Dtag = MyProject-1.2

之后,您应该看到MyProject \ branches \ theNewBranchFrom12,并根据您在发布时的建议修改了pom文件:执行分支。