gpt4 book ai didi

mercurial - 不正确的 "Can' t rebase 不可变变更集”错误

转载 作者:行者123 更新时间:2023-12-01 10:51:24 26 4
gpt4 key购买 nike

有时,当我使用 rebase 进行拉取时,会出现以下错误:

abort: can't rebase immutable changeset fa044e766d1f
hint: see hg help phases for details

有趣的是,那个出错的变更集(而且每次都是一样的)已经很老了,而且已经公开了。

这是一个截图:https://db.tt/xHiOxm6R

看起来我可以忽略这个消息(至少,到目前为止,我没有因此而惹上任何麻烦),但很明显,我想帮助 Hg 解决这个问题,这样它就不会再出现了将来继续成为麻烦。

谢谢。

更新

hg out 没有列出来。克隆体可能大约 6 个月大。另外,据我所知,其他开发人员都没有遇到这个问题。

最佳答案

(注意:由于严格的防火墙,我看不到屏幕截图)。

您提到错误每次都发生在“非常旧并且已经公开”的变更集上。这应该会提示您出现错误的原因。

Mercurial 中的变更集有 3 个可能的阶段:

 - public : changeset is visible on a public server
- draft : changeset is not yet published
- secret : changeset should not be pushed, pulled, or cloned

处于draftsecret 的变更集被认为是可变的,也就是说你可以改变它们的历史,修改它们(例如,可能改变作者),等等。

public 的变更集被认为是不可变的,当它们处于这个阶段时,您“不能”更改它们的任何内容。因为,他们已经被外界看到了,所以你再做任何修改,都可能会出问题。从理论上讲,您无法删除公开的变更集 - 如果您尝试更改它,您只需创建另一个变更集。

也就是说,您可以像这样强制变更集的阶段回到draft:

hg phase -d -f <changeset_id>

这将允许您以其他方式 rebase 或修改变更集。

但是,这不会删除“外部世界”中的原始变更集......已经存在,并且会一直持续到时间结束。它只会创建一个基本上做同样事情的新的。

因此,如果您确实尝试解决该问题,您很可能只会创建一个新问题来代替它。

注意:因为我看不到此处的屏幕截图,我可能会稍后修改我的答案。

更新:快速说明 - 看到屏幕截图后,它看起来像一个非常旧的变更集,这让我想知道您正在尝试 rebase 。正如 Kindread 上面提到的, merge 将是您最好的选择。

关于mercurial - 不正确的 "Can' t rebase 不可变变更集”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19542810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com