2012-02-22 68 views
1

假设我在本地仓库,案例1和案例2中有2个分支。我目前正在处理case1并有未提交的更改。如何防止hg更新<branch>未提交Mercurial中的活动分支?

当我I hg up case2我希望这个导航被禁止,除非我已经做出了在case1中提交我的更改的选择。

任何想法如何做到这一点?

+0

你可能需要在python中编写一些小小的mercurial扩展来实现这样的功能。 – 2012-02-22 09:57:30

回答

2

如果hg up case2与未提交的更改,并case2case1没有直接的祖先/后裔,水银会拒绝

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

做它,那么你可以选择要么是提交你的修改,通过手段将它们丢弃使用建议的选项或更新到共同祖先case1case2。后面的案例是一个两跳方法,用于在跳到case2时采取未提交的更改。

此外,更新版本的Mercurial的更新命令有--check选项。这将完全符合你的要求:如果工作副本脏了,请中止命令。

当然,如果您检查hg help update,这一切都非常明显。

+0

更新到共同的祖先:'hg update -r“祖先(。,case2)”'。你甚至可以为此创建一个别名。 – 2012-02-22 14:39:06

相关问题