假设我的本地仓库有两个分支,case1和case2。我目前正在研究case1并且有未提交的更改。
当我hg up case2
时,我希望禁止此导航,除非我已选择在case1中提交我的更改。
知道怎么做吗?
答案 0 :(得分:2)
如果hg up case2
有未提交的更改,并且case2
不是case1
的直接祖先/后代,Mercurial将拒绝执行此操作
abort: crosses branches (merge branches or use --clean to discard changes)
然后,您可以选择提交更改,通过使用建议的选项将其丢弃,或者更新为case1
和case2
的共同祖先。后一种情况是一种两跳方法,当您跳转到case2时,可以随身携带未提交的更改。
此外,较新版本的Mercurial具有更新命令的--check
选项。这将完全符合您的要求:中止命令,以防您的工作副本变脏。
当然,如果你检查hg help update
,这一切都很明显。