mercurial中的快进分支
出于某种原因,我有以下情况: 现在我想去掉mercurial中的快进分支,mercurial,fast-forward,Mercurial,Fast Forward,出于某种原因,我有以下情况: 现在我想去掉default\u2并将default快进到rev 89。但当我这么做的时候 hg up -r default hg transplant 61:89 或 Mercurial(1.8.2+20110401)刚刚将我的工作副本更新为rev 89。使用mq扩展,看起来我必须一个接一个地指定所有中间版本 因此,问题是: 为什么移植不起作用?(此处推荐:) 有没有一种方法可以让你快速前进而不感到痛苦 使用Mercurial队列,您可以: hg qinit h
default\u2
并将default
快进到rev 89。但当我这么做的时候
hg up -r default
hg transplant 61:89
或
Mercurial(1.8.2+20110401)刚刚将我的工作副本更新为rev 89。使用mq
扩展,看起来我必须一个接一个地指定所有中间版本
因此,问题是:
使用Mercurial队列,您可以:
hg qinit
hg qimport -r 61:89
hg qpop -a # unapply all patches
hg up default # return to your default branch
hg qpush -a # apply all patches on default
hg qfinish -a # move applied patches into repo history
注意:这假设61:89修订版尚未推送至公共回购。给定的
mq
命令将修改历史记录。如果已经推送了这些修订,那么最好只关闭default2
分支,然后使用Mercurial队列将default2
合并到default,您可以:
hg qinit
hg qimport -r 61:89
hg qpop -a # unapply all patches
hg up default # return to your default branch
hg qpush -a # apply all patches on default
hg qfinish -a # move applied patches into repo history
注意:这假设61:89修订版尚未推送至公共回购。给定的mq
命令将修改历史记录。如果这些修订已经推出,那么最好只需关闭default2
分支,然后将default2
合并到default
中。从Mercurial 2.0开始,您可以使用graft命令(内置命令主要取代移植扩展):
另请参见关于的相关问题
请注意,Mercurial不支持命名分支之间的实际快进la Git的原因是分支名称是Mercurial提交对象的一部分。另请参见此部分。从Mercurial 2.0开始,您可以使用graft命令(内置命令在很大程度上取代了移植扩展):
另请参见关于的相关问题
请注意,Mercurial不支持命名分支之间的实际快进la Git的原因是分支名称是Mercurial提交对象的一部分。另请参见此项。尝试:
hg branch --force default
它将重新创建名为default的新分支尝试:
hg branch --force default
它重新创建了名为default的新分支非常感谢!行得通,在文档中没有找到qimport能理解的地方。@Nikita:不客气。在较新版本的Mercurial(>=v1.7)中,-r
选项支持选择修订集的函数式语言。有关详细信息,请参见hg help revset
)。另外,如果我的答案是好的,请将其标记为已接受。哇,再次感谢!顺便问一下,你不知道移植有什么问题吗?官方文件在这里推荐:@Nikita:我现在才开始研究这个问题。它目前也不适用于我,但我安装了一个不稳定的Mercurial版本。非常感谢!行得通,在文档中没有找到qimport能理解的地方。@Nikita:不客气。在较新版本的Mercurial(>=v1.7)中,-r
选项支持选择修订集的函数式语言。有关详细信息,请参见hg help revset
)。另外,如果我的答案是好的,请将其标记为已接受。哇,再次感谢!顺便问一下,你不知道移植有什么问题吗?官方文件在这里推荐:@Nikita:我现在才开始研究这个问题。目前它对我也不起作用,但我安装了一个不稳定的Mercurial版本。