rei*_*den 3 mercurial tortoisehg
偶尔,当我使用rebase进行拉动时,我会收到以下错误:
abort: can't rebase immutable changeset fa044e766d1f
hint: see hg help phases for details
Run Code Online (Sandbox Code Playgroud)
有趣的是,改变错误(每次都是同一个错误)是非常古老的,并且已经公开了.
这是一个截图: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
Run Code Online (Sandbox Code Playgroud)
处于draft和secret被认为是可变的变更集,即您可以更改其历史记录,修改它们(例如,可能更改作者),等等.
处于的变更集public被认为是不可变的,当它们处于此阶段时,您"无法"改变它们的任何内容.原因是,他们已经被外界看到了,所以如果你进行任何修改,它可能会引起问题.理论上,你不能删除一个公开的变更集 - 如果你试图改变它,你只需要创建另一个变更集.
也就是说,您可以将变更集的阶段强制恢复为draft:
hg phase -d -f <changeset_id>
Run Code Online (Sandbox Code Playgroud)
这将允许您以其他方式变基或修改变更集.
但是,这不会删除已经存在的"外部世界"中的原始变更集,直到时间结束.它只会创建一个大致相同的新事物.
所以,如果你没办法去解决问题,你可能只是建立在其设立一个新的问题.
警告:由于我从这里看不到截图,我可能会在稍后修改我的答案.
更新:一个简单的说明 - 看过截图,看起来像一个非常古老的变化集,这让我想知道你正在尝试改变什么.正如Kindread上面提到的那样,合并将是你最好的选择.
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |