kas*_*erd 5 mercurial unshelve
我hg shelve在一个存储库中使用,在那里我有一些未完成的更改,因为我需要切换到不同的头并执行无关的更改.
一旦我在另一个头上的工作被提交,我就切换回我最初使用的头部hg shelve并运行hg unshelve命令.这是结果:
$ hg unshelve
unshelving change 'default'
adding changesets
adding manifests
adding file changes
added 1 changesets with 4 changes to 4 files (+1 heads)
abort: uncommitted changes
$ hg diff
warning: ignoring unknown working parent 893e15ecb5b4!
$
Run Code Online (Sandbox Code Playgroud)
我确实hg head在unshelve命令之前和之后运行并看到相同的输出.承诺893e15ecb5b4从未存在过,我不知道Mercurial从哪里得到它.
如果它有任何相关性,我在Ubuntu 14.04上运行Mercurial版本2.8.2.
如何让我的存储库恢复工作状态,如何才能将我的搁置更改恢复?
以下步骤为我解决了问题:
hg debugsetparents将损坏的父版本号替换为893e15ecb5b4我在使用之前更新到的正确版本号unshelvehg manifest | tr '\n' '\0' | xargs -0 touch它来再次注意到任何局部变化.patch -p1 < .hg/shelved/default.patch,在我的情况下,确实hg unshelve应该首先应该为我做什么.| 归档时间: |
|
| 查看次数: |
2381 次 |
| 最近记录: |