2014-11-14 2 views
2

Есть ли способ в mercurial для запуска крюка перед тем, как сделать толчок. Например, я хотел бы запустить JSHint над кодовой базой, когда я набираю hg push и прервал нажатие при обнаружении любых ошибок.Как создать предварительный пусковой крючок в Mercurial

Сначала я попытался использовать крючок pre-commit. Это сработало, но неудобно ждать несколько секунд перед каждой фиксацией. Кроме того, я хотел бы иногда делать промежуточные коммиты с возможно сломанным кодом.

Чтение docs for hgrc Я обнаружил preoutgoing и pre-outgoing, который, казалось, понравился мне. Но это не сработало. Единственное, что им кажется, это запустить крючок, когда я набираю:

hg outgoing 

Не полезно для меня вообще.

ответ

3

Найдено решение. Отправьте его здесь, если кто-то еще задается вопросом о том же.

Оказалось, что документация была просто запутанной для меня. Он сказал:

"pre-<command>"

Запуск перед выполнением команды, связанной. Содержимое командной строки передается как «$ HG_ARGS». Аргументы командной строки передаются как «$ HG_PATS» и «$ HG_OPTS». Они содержат строковые представления данных, переданных внутри. «$ HG_OPTS» - это словарь опций (с неопределенными параметрами, установленными по умолчанию). «$ HG_PATS» - это список аргументов. Если крючок возвращает сбой, команда не выполняется, а Mercurial возвращает код сбоя.

Я думал, что <command> его называют это один из типов крючков, как outgoing или commit и я не мог найти push крючок перечисленных там. Но получается, что команда - это просто какая-то меруриальная команда, поэтому я могу просто использовать pre-push.

Проблема решена:

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