11

Gitoneを含むさまざまなコミットフックと統合するための検証およびリンティングユーティリティを開発しています

https://github.com/miohtama/vvv

現在、バリデーターとリンターは、コミットごとにプロジェクトコードベース全体に対して実行されます。ただし、変更されたファイルに対してのみ実行する方がはるかに最適です。このためには、Git precommitフック(Pythonの場合)で変更されたファイルのリストを知る必要があります

https://github.com/miohtama/vvv/blob/master/vvv/hooks/git.py

変更されたファイルのリストを抽出するために必要なオプションは何ですか(それが重要な場合はPythonで)?

4

2 に答える 2

6

作業ツリーにあるものが必ずしもコミットされるものと同じであるとは限らないため、本当に物事を「正しく」機能させたい場合、事前コミットフックは少し面倒です。

$ echo morestuff >> file1; echo morestuff >> file2
$ git add file1 # but not file2
$ git commit -m 'modified two files but check in just one'

git diff-index --cached HEAD「チェックインしようとしているもの」のリストを取得するために使用できます。たとえば、http://newartisans.com/2009/02/building-a-better-pre-commit-hook-for-git/も参照してください。

于 2012-04-15T17:09:32.260 に答える