我想在提交到Mercurial或Git倉庫之前運行JSLint。對於Mercurial和Git中的JSLint提交前鉤子
我想這是一個自動設置的步驟,而不是依賴於開發人員(主要是我)記住在手之前運行JSLint。我通常在開發時運行JSLint,但希望在JS文件上指定一個合約,以便在提交到repo之前通過JSLint。
對於Mercurial,this page說明了預提交語法,但似乎可用的唯一變量是提交中涉及的parent1和parent2變更集標識。我真正想要的是與提交有關的文件名列表,以便我可以選擇.js文件並在其上運行jslint。
Similar issue for GIT,作爲預提交腳本的一部分可用的默認信息似乎有限。
可能的工作是調用hg status/git status作爲預提交腳本的一部分,解析該輸出以查找JS文件,然後以這種方式完成工作。儘管我希望能夠更容易,但我不確定是否將狀態作爲預提交鉤子的一部分反映了正確的信息。例如在Git中,如果尚未添加更改文件,但git commit使用-a,那麼這些文件是否會將git status輸出的正確部分顯示爲提交集的一部分?
更新:我得到的東西的工作,它是在這裏看到:http://github.com/jrburke/dvcs_jslint/
爲了完整起見,下面是一些設置[JSLint作爲Subversion提交鉤子]的說明(http://www.amaxus.com/cms-blog/jslint-as-subversion-hook)。 – 2010-03-24 08:17:56
有同樣的需要,所以我寫了這個http://bitbucket.org/robmadole/hgjslint/ – 2010-05-13 20:34:09