如何在不提交Mercurial中的活动分支的情况下阻止hg update <branch>?</branch>

时间:2012-02-22 09:55:29

标签: mercurial branch

假设我的本地仓库有两个分支,case1和case2。我目前正在研究case1并且有未提交的更改。

当我hg up case2时,我希望禁止此导航,除非我已选择在case1中提交我的更改。

知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

如果hg up case2有未提交的更改,并且case2不是case1的直接祖先/后代,Mercurial将拒绝执行此操作

abort: crosses branches (merge branches or use --clean to discard changes)

然后,您可以选择提交更改,通过使用建议的选项将其丢弃,或者更新为case1case2的共同祖先。后一种情况是一种两跳方法,当您跳转到case2时,可以随身携带未提交的更改。

此外,较新版本的Mercurial具有更新命令的--check选项。这将完全符合您的要求:中止命令,以防您的工作副本变脏。

当然,如果你检查hg help update,这一切都很明显。