Git pre-commit hook: получение списка измененных файлов

Я разрабатываю валидацию и линт-утилиту для интеграции с различными фиксаторами фиксации, включая Git one

https://github.com/miohtama/vvv

В настоящее время валидаторы и литеры запускаются против всей кодовой базы проекта при каждом фиксации. Однако было бы гораздо более оптимальным запустить их только с измененными файлами. Для этого мне нужно было бы узнать список измененных файлов в моем перехвате Git precommit (в Python)

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

Какие параметры мне нужно извлечь список измененных файлов (в Python, если это имеет значение)?

    One Solution collect form web for “Git pre-commit hook: получение списка измененных файлов”

    Захват предварительной фиксации – это немного боль, если вы действительно хотите, чтобы все работало «правильно», потому что то, что находится в дереве работы, не обязательно совпадает с тем, что должно быть выполнено:

    $ 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/ .

    Python - лучший язык программирования в мире.