Pre Commit Hook для JSLint в Mercurial и Git

Я хочу запустить JSLint до того, как будет сделана фиксация в репозитории Mercurial или Git.

Я хочу, чтобы это был автоматический шаг, который устанавливается вместо того, чтобы полагаться на то, что разработчик (в основном я) не забывает запускать JSLint заранее. Я обычно запускаю JSLint во время разработки, но хочу указать контракт на JS-файлы, которые они передают JSLint, перед тем как быть зафиксированными в репо.

Для ртути,эта страница в нем прописан синтаксис предварительного принятия, но единственные переменные, которые кажутся доступными, - это идентификаторы ревизий parent1 и parent2, участвующие в коммите. Что мне действительно нужно, так это список имен файлов, связанных с фиксацией, чтобы я мог затем выбрать файл .js и запустить над ним jslint.

Аналогичная проблема для GITинформация по умолчанию, доступная как часть сценария предварительной фиксации, кажется ограниченной.

То, что может сработать, это вызов hg status / git status как части сценария precommit, проанализируйте этот вывод, чтобы найти JS-файлы, и сделайте эту работу таким образом. Хотя я надеялся на что-то более простое, и я не уверен, отражают ли правильные данные статус вызова как часть ловушки предварительного коммита. Например, в Git, если файлы изменений еще не добавлены, но коммит git использует -a, будут ли файлы отображаться в правильном разделе вывода состояния git как часть набора коммитов?

ОбновитьУ меня что-то работает, это видно здесь:http://github.com/jrburke/dvcs_jslint/

Ответы на вопрос(3)

Ваш ответ на вопрос