Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 使用maven从标记创建分支_Svn_Maven 2_Branch - Fatal编程技术网

Svn 使用maven从标记创建分支

Svn 使用maven从标记创建分支,svn,maven-2,branch,Svn,Maven 2,Branch,我在主干中开发,并定期使用maven发布插件标记“稳定发布”。例如: /trunk是MyProject 1.1-SNAPSHOT 创建稳定的版本 /tags/MyProject-1.1 很好,没有问题,只是很完美 有时我不得不部署修补程序,但主干还没有准备好。所以我需要最后一个稳定标签的一个分支。maven能帮我吗?当前,我将标记复制到新的分支位置 /branchs/MyProject-1.1.1-SNAPSHOT并使用mvn版本更新版本:set 所以我需要最后一个稳定标签的一个分支。maven

我在主干中开发,并定期使用maven发布插件标记“稳定发布”。例如:

/trunk是MyProject 1.1-SNAPSHOT

创建稳定的版本

/tags/MyProject-1.1

很好,没有问题,只是很完美

有时我不得不部署修补程序,但主干还没有准备好。所以我需要最后一个稳定标签的一个分支。maven能帮我吗?当前,我将标记复制到新的分支位置
/branchs/MyProject-1.1.1-SNAPSHOT
并使用
mvn版本更新版本:set

所以我需要最后一个稳定标签的一个分支。maven能帮我吗

Maven Release插件及其
Release:branch
可以提供帮助。签出标记并从标记创建分支:

默认情况下,新分支中的POM 保持与本地版本相同的版本 工作副本,本地POM为 增加到下一个修订版。如果 您想在新的应用程序中更新版本 分支,而不是在工作副本中, 运行:

注意:如果您愿意,这可能很有用 从标记创建分支的步骤

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

在本例中,新 分支将被设置为版本 1.2-SNAPSHOT,本地POM将设置为版本2.0-SNAPSHOT

资源
  • Maven发布插件示例

如果您在svn中有一个带有主干/标签/分支结构的标准项目:

MyProject
   \trunk
   \branches
       \theOldBranch
   \tags
       \MyProject-1.1
       \MyProject-1.2
       \MyProject-1.3
你应该

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


之后,您将看到MyProject\Branchs\theNewBranchFrom12,其中pom文件根据执行release:branch时的建议进行了修改。

如果我查看最新的稳定版本,例如
svn co repo/tags/MyProject-1.1
我将获得一个文件夹MyProject-1.1。如果我将工作副本转换为分支
MyProject-1.1-SNAPSHOT
,我必须在哪里指定新版本?我敢肯定maven没有向我索要它(这很奇怪,因为它与release:prepare配合得很好)@pascal thivent,你知道这是否有效吗,
mvn release:branch-DbranchName=${project.version}
,见
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
MyProject
   \trunk
   \branches
       \theOldBranch
   \tags
       \MyProject-1.1
       \MyProject-1.2
       \MyProject-1.3