Как предотвратить обновление hg <branch>без фиксации в активной ветке в Mercurial? - PullRequest
1 голос
/ 22 февраля 2012

Допустим, у меня есть 2 ветки в моем локальном репо, case1 и case2. В настоящее время я работаю над делом 1 и имею незафиксированные изменения.

Когда я hg up case2, я хочу, чтобы эта навигация была запрещена, если я не выбрал принятие изменений в case1 или нет.

Есть идеи, как это сделать?

1 Ответ

2 голосов
/ 22 февраля 2012

Если вы 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.

...