2012-04-25 2 views
2

Сегодня я потерял около 6 часов работы, потому что я сделал «hg rollback» вместо «hg revert». Я не буду тратить время на разговоры о том, как глупо иметь деструктивную команду, которая не имеет подтверждения или предупреждения.можно отключить откат в Mercurial?

Я бы предпочел сделать это так, чтобы снова не повторить простую ошибку. Есть ли способ отключить эту команду из командной строки?

+4

Обратите внимание, что 'hg rollback' не изменяет рабочий каталог - поэтому, если вы случайно« откат », вы можете повторно зафиксировать существующий рабочий каталог для восстановления фиксации. – Amber

+0

@Amber true, и я бы сделал это, за исключением того, что я думал, что сделал реверс, и мое репо было в порядке. Затем я слился в код с помощью pull/merge. Я не знаю точно, что произошло, просто, что обширный рефакторинг, который я сделал сегодня утром, ушел. – jcollum

+0

Это замечательный случай, когда вы делаете что-то не так - вам нужно остановиться и подумать о том, что произошло, и как его исправить, а не попробовать все случайно. – zerkms

ответ

9

Вы можете скрыть его псевдонимом. Попробуйте добавить следующую строку в ваш ~/.hgrc:

[alias] 
rollback = !echo WAT? 

Обратите внимание, что он не может правильно работать со старыми версиями ртутных (я бы сказал, старше 1.8).

+0

Спасибо. Теперь я получаю 'PS C: \ dev \ TestRep> hg rollback' ' WAT? '. Последняя фиксация не была удалена. Выглядит неплохо. – jcollum

Смежные вопросы