Mercurial 2.1: как я могу использовать Pull / Входящий без получения кода возврата 1, если нет изменений? - PullRequest
2 голосов
/ 23 февраля 2012

В Mercurial 2.1 команды pull и входящие команды теперь имеют код возврата 1, когда нет изменений. Так есть ли сейчас альтернативная команда, с помощью которой я могу в командной строке сделать что-то вроде следующего?

hg pull && echo "No changes, carry on."

Показательный пример: checkoutmanager теперь жалуется, что что-то пошло не так при обновлении ртутного извлечения, когда в действительности просто не было изменений: https://bitbucket.org/reinout/checkoutmanager/issue/17

См. Примечания к выпуску Mercurial 2.1, которые упоминают об этом для pull (но не для входящих). https://www.mercurial -scm.org / вики / UpgradeNotes # A2.1: _phases.2C_various_minor_changes

Ответы [ 2 ]

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

Это изменение кода возврата будет отменено для следующего второстепенного выпуска.

См .: https://www.mercurial -scm.org / pipermail / mercurial-devel / 2012-февраль / 037986.html

0 голосов
/ 23 февраля 2012

Вы можете сделать hg incoming, и если код возврата равен 1, вы знаете, что изменений нет.

Проблема с pull состоит в том, что когда он возвращает 1 в качестве кода возврата, это означает «без изменений» или «неразрешенные файлы», это не относится к incoming, когда у вас есть код возврата 1, вы можете смело говорите, что без изменений.

В псевдокоде это даст что-то вроде этого:

hg incoming
if(returncode = 0)
    hg pull
else
    echo "No changes, carry on."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...