当调用hg unshelve --keep时,我得到一个冲突,我需要解决这个冲突,然后再次调用hg unshelve --continue --keep。为什么最后一步是必要的?为什么我不能在不解决提交的情况下直接调用hg unshelve --continue --keep --以摆脱非搁置状态?
c:\temp\hg test>hg st
M new.txt
c:\temp\hg test>hg commit -m "fjdjkfs"
c:\temp\hg test>hg unshelve --keep
unshelving change 'shelve'
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
merging new.txt
warning: conflicts during merge.
merging new.txt incomplete! (edit conflicts, then use 'hg resolve --mark')
unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
c:\temp\hg test>hg st
M new.txt
? new.txt.orig
c:\temp\hg test>hg unshelve --keep --continue
abort: unresolved conflicts, can't continue
(see 'hg resolve', then 'hg unshelve --continue')
c:\temp\hg test>hg resolve --mark
c:\temp\hg test>hg unshelve --keep --continue
no changes needed to new.txt
unshelve of 'shelve' complete
c:\temp\hg test>hg st
warning: ignoring unknown working parent 11667b875a2d!
? new.txt.orig发布于 2015-05-04 22:32:34
为什么最后一步是必要的?
因为可能还没有应用所有的更改。合并冲突可能在取消搁置操作的中途发生。在这种情况下,您需要将控制权传递回Mercurial以应用其余更改。
为什么我不能在不解决
的情况下直接调用
hg unshelve --continue --keep--以摆脱非搁置状态?
如果您只想脱离未搁置状态,而不关心如何将更改正确地应用到您的工作目录中,那么您应该只执行hg unshelve --abort。--continue标志用于在修复合并冲突后恢复取消搁置。Mercurial不允许您在不解决冲突的情况下执行此操作,因为这会使您的工作目录处于损坏状态。
有关这些参数的详细信息,请参阅hg help unshelve。
发布于 2015-05-09 18:49:52
这似乎是我使用的Mercurial版本的一个问题。在最新的3.4版本中,它可以像预期的那样工作。
https://stackoverflow.com/questions/29497260
复制相似问题