使用 Maven 从标签创建分支

发布于 2024-09-25 09:03:41 字数 342 浏览 3 评论 0原文

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

/trunk is MyProject 1.1-SNAPSHOT

创建稳定版本

/tags/MyProject-1.1

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

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

I develop in trunk and periodically tag "stable releases" with the maven release plugin. For example:

/trunk is MyProject 1.1-SNAPSHOT

creates the stable release

/tags/MyProject-1.1

Works fine, no problems, just perfect.

Sometimes I have to deploy a hotfix but the trunk isn't ready, yet. So I need a branch from the last stable tag. Can maven help me here? Currently I copy the tag to the new branch location
/branches/MyProject-1.1.1-SNAPSHOT and update the versions with mvn versions:set

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你在我安 2024-10-02 09:03:41

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

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

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

mvn 版本: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版本。

资源

So I need a branch from the last stable tag. Can maven help me here?

The Maven Release Plugin and its release:branch can help. Check out the tag and create a branch from the tag:

By default, the POM in the new branch
keeps the same version as the local
working copy, and the local POM is
incremented to the next revision. If
you want to update versions in the new
branch and not in the working copy,
run:

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

Note: This can be useful if you want
to create a branch from a tag

Specify versions on the command line

You may want to specify the versions
to use on the command line. This can
be useful for example if you are
running the release in non-interactive
mode. The branch goal can use the same
properties used by the prepare goal
for specifying the versions to be
used.

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

In this example, the POM in the new
branch will be set to the version
1.2-SNAPSHOT, and the local POM will be set to the version 2.0-SNAPSHOT.

Resources

数理化全能战士 2024-10-02 09:03:41

如果您在 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根据您在执行release:branch时的建议修改pom文件。

If you have a standard project in svn with trunk/tags/branches structure:

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

You should

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

After that you should see MyProject\branches\theNewBranchFrom12 with pom files modified according to what you suggested when release:branch was executed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文