Mercurial または Git リポジトリへのコミットが完了する前に、JSLint を実行したいと考えています。
私はこれを、開発者 (主に私) が事前に JSLint を実行することを覚えていることに頼るのではなく、セットアップされる自動ステップとして望んでいます。私は通常、開発中に JSLint を実行しますが、リポジトリにコミットする前に JSLint を渡す JS ファイルのコントラクトを指定したいと考えています。
Mercurial の場合、このページにはコミット前の構文が詳しく説明されていますが、使用できると思われる変数は、コミットに含まれる親 1 および親 2 チェンジセット ID だけです。私が本当に必要としているのは、コミットに関係するファイル名のリストです。これにより、.js ファイルを選択してそれらに対して jslint を実行できるようになります。
GITの同様の問題、precommit スクリプトの一部として利用可能なデフォルト情報は制限されているようです。
機能する可能性があるのは、プリコミット スクリプトの一部として hg status/git status を呼び出し、その出力を解析して JS ファイルを見つけ、その方法で作業を行うことです。私はもっと簡単なことを望んでいましたが、precommit フックの一部としてステータスを呼び出すことが正しい情報を反映しているかどうかはわかりません。たとえば、Git で変更ファイルがまだ追加されていないが、git コミットが -a を使用している場合、ファイルはコミット セットの一部として git ステータス出力の正しいセクションに表示されますか?
更新: 何かが機能しています。ここに表示されます: http://github.com/jrburke/dvcs_jslint/