Я кодирую простой крючок, чтобы проверить синтаксис файлов проекта. Я хочу проверить синтаксис только до фиксации.Mercurial избегает привязки к фиксации на стеллажах
Моя проблема: Когда я делаю полку, Mercurial запускает крюк предварительной фиксации. Проверка синтаксиса занимает 4-5 минут.
Как я могу избежать запуска крючка на полке?
Моей .hrgc линия крюка:
precommit = python ~/tools/check_syntax.py $($HG root)
Я могу добавить параметр в моем check_syntax.py, чтобы избежать проверок, если это требуется.
Я не верю, что вы в состоянии сделать это. Поскольку это похоже на меркурий, он активирует их вместе с крючками фиксации в соответствии с [этим ответом] (http://stackoverflow.com/a/30661561/6061947). Одна вещь, которую вы, возможно, можете сделать, - это запустить ее на «исходящей», которая была бы только до нажатия на изменения в репо. –
Я уже прочитал ответ по ссылке. Я надеялся, что есть способ отличить ** hg commit ** и ** hg shelve ** в ** pre-commit ** hook. Но вы правы, я должен сделать свое подтверждение исходящим. Благодарю. – jedema
Проверка исходящего слишком поздно - фиксация завершена и, возможно, это не последняя фиксация, а первая из серии, которая вызывает проблему. Таким образом, либо вы получите «синтаксис исправления» в любом случае, либо много изменений. – planetmaker