首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为分支中的所有更改创建比较补丁?

为分支中的所有更改创建比较补丁?
EN

Stack Overflow用户
提问于 2017-10-11 22:47:36
回答 2查看 616关注 0票数 0

我从default创建了一些分支(称为brnch),并在那里进行了一些提交。现在,需要从分支到某个发布分支挑选所有的差异来进行热修复。这样的事情在mercurial中是可能的吗?

代码语言:javascript
复制
    ^  ^ 
    |  |<--- brnch
    |  - commit3
    |  |
    |  - commit2
    -  |
    |  |
    |  - commit1
    -  |
    |  |
    |  |
    |--
    |
    -
 default

是否可以从分支brnch (commit1,commit2,commit3)中的所有通信创建一个补丁,并将其应用于其他分支(在我的情况下,发布热修复)?

EN

回答 2

Stack Overflow用户

发布于 2017-10-12 01:31:35

参见hg help exporthg help import

示例:

代码语言:javascript
复制
hg export branch(brnch) -o brnch.patch               # export everything on brnch
hg export -r commit1 -r commit2 -o cherrypick.patch  # cherrypick two changesets

hg update <somewhere_else>
hg import brnch.patch   # import the revisions in the patch

hg import --no-commit brnch.patch # import (but don't commit) revisions.
hg commit -m hotfix               # commit changes as one commit with "hotfix" description.
票数 2
EN

Stack Overflow用户

发布于 2017-10-12 01:40:00

您可以通过hg rebase简单地实现这一点。

为简单起见,我假设您希望在brnch中看到从commit1开始的所有内容,请参阅put into your release分支。因此,检查发布分支,然后重新设置brnch提交的基础:

代码语言:javascript
复制
hg update release
hg rebase --source commit1 --collapse --keep --dest . --message "bla bla something fixed"

或者,您可以给出一个修订范围。如果你希望看到的提交在brnch分支中是非线性的,那么你将需要求助于移植(这是精挑细选的单个提交)--你可以在你的release分支中随后折叠(hg fold)所有移植的变更集,前提是你最初将它们保持在阶段草案中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46691291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档