2012-03-21 46 views
9

是否有任何預先制定的解決方案在Git提交掛鉤中執行良好的Python標準?在Github中實施PEP-8'ish格式提交

是否有辦法在本地簽出時自動創建此進程(類似Bazaar,可以將提交掛鉤推送給客戶端)?應該足夠的是,當你簽出一個repo時,它會附帶提交鉤子,不需要進一步的工作/命令來運行。

E.g.如果你的.py文件有一個標籤,那麼提交會中止,並且會發送一個Droid來打擊開發者。

+0

只是要注意我寫了一個小工具,以幫助這一切:https://github.com/miohtama/vvv – 2012-06-14 03:43:15

回答

9

您可以在GitHub端添加服務(請參閱「GitHub - All the Hooks」和existing third-party services)。

但你不能「推鉤」(見「why it is not possible to git add .git/hooks/my-hook」或「Git remote/shared pre-commit hook」。

您可以版本,這將作爲掛鉤的腳本,但每個客戶仍然需要激活他們的pre-commit鉤子(用符號鏈接指向該版本的腳本)。

這樣的版本腳本(Python的標準)的一個例子是在這個blog post可見,通過Lorenzo Bolla,並在此GitHub repo更新。
它是基於PyLintPyFlake (另請參閱「PyLint, PyChecker or PyFlakes?」)。


的OP在評論中提到的軟件源代碼驗證package vvv 0.1

一個方便的工具和掉毛

VVV是很容易驗證的工具,掉毛集成的軟件項目。
使用單個命令在源樹中根據您在簡單配置文件中指定的策略驗證所有文件,而不管使用哪種編程語言。
VVV可以防止在您的軟件源代碼管理中犯下不好的東西,或使清理起來更容易。

+0

注:pylint的和PyFlake不FR特定PEP8 Python的指南風格的答案,只是一個如何在Git鉤子中安裝和執行python腳本的例子。 – VonC 2012-03-21 07:43:04

+0

現在這裏是一個簡單的一個命令可安裝的工具:pypi.python.org/pypi/vvv/ – 2012-04-20 16:20:14

+0

@MikkoOhtamaa有趣的我已經將它包含在答案中以獲得更多的可見性。 – VonC 2012-04-20 17:20:57