Если вы hg up case2
с незафиксированными изменениями, а case2
не являетесь прямым предком / потомком case1
, Mercurial откажется делать это с
abort: crosses branches (merge branches or use --clean to discard changes)
. Затем вы можете выбрать либо фиксациюваши изменения, откажитесь от них с помощью предложенной опции или обновите общий предок case1
и case2
.В последнем случае используется двухшаговый подход, позволяющий брать с собой незафиксированные изменения, а вы переходите к случаю 2.
Кроме того, в более новых версиях Mercurial имеется опция --check
для команды обновления.Это будет делать именно то, что вы хотели: прервите команду в случае, если ваша рабочая копия будет грязной.
Конечно, все это довольно очевидно, если вы проверите hg help update
.