【问题标题】:How to make force-pushed branch the tip in Mercurial?如何在 Mercurial 中使强制推动的分支成为尖端?
【发布时间】:2012-08-08 14:47:35
【问题描述】:

我最初的情况与this question中的情况类似。来自强大的 Git 背景,我想强制推送我的私有分支的清理版本(以相同的名称),我已经压缩/折叠了一些提交(使用histedit extension)。我再次做的和this answer类似,但我做的顺序不同:

$ hg clone -b private_branch <url>
$ hg histedit -r <some_rev> # Fold some commits
$ hg push -f # This creates a second branch head on the server
$ hg update -r <rev_of_original_branch_head>
$ hg commit --close-branch -m 'Closing this branch in favor of a cleaned-up version'
$ hg push

我不明白的是,如果我现在设置一个新的工作树,我会得到

$ hg clone -b private_branch <url>
$ hg log -l 1
changeset:   <rev>:<sha1>
branch:      private_branch
tag:         tip
parent:      <tip_rev_of_branch_before_folding>:<sha1>
user:        <name> <email>
date:        Wed Aug 08 11:48:25 2012 +0200
summary:     Closing this branch in favor of a cleaned-up version

为什么tip 指向关闭的分支? hg heads 只是按预期显示我的强制推头。但是,hg heads -t 显示了private_branch 的两个头像。我还验证了我的关闭提交确实是关闭提交,hg log --debug 显示 extra: close=1

编辑:问题是,如果我在新克隆上进行提交,我会得到

$ hg ci -m "test"
created new head
reopening closed branch head <rev>

但我不想重新打开关闭的分支头,我想在打开的分支头之上提交。

我该如何解决这个问题,最好不用no-op merge

【问题讨论】:

    标签: mercurial


    【解决方案1】:

    tip 标签是一个特殊的“浮动”标签,它始终标识 存储库中的最新版本。

    (来自http://hgbook.red-bean.com/read/managing-releases-and-branchy-development.html

    这就是为什么tip 指向涉及已关闭分支的修订。

    这里真的有问题吗?如果您继续工作,您将在private_branch 上进行您想要进行的更改。

    【讨论】:

    • 问题是,如果我对一个新的克隆进行提交,它将重新打开关闭的分支。我已经相应地编辑了我的问题。
    • 感谢您让我了解 tip 到底指的是什么!
    • 我将其称为-b 的错误。我刚刚测试过,如果默认分支有两个头并且最近的一个已关闭,则没有-b default 的克隆将更新为较旧的打开头,而不是关闭的提示。但是将-b default 添加到克隆中,它会更新为最近关闭的头部。运行额外的hg update default 会再次选择较旧的开​​放头。
    【解决方案2】:

    解决方案是简单地做

    $ hg update private_branch
    

    hg parent(s) 所示的工作目录的父版本设置为新创建的打开分支头,远离关闭的分支头。尽管我已经“在那个分支上”,但我需要“切换分支”对我来说有点不直观,但在这种情况下,我不是在切换分支,而是在单个分支中切换头。与 Git 完全不同的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 2019-01-09
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 2018-06-22
      • 2015-09-10
      相关资源
      最近更新 更多