Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
mercurial中的快进分支_Mercurial_Fast Forward - Fatal编程技术网

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