Git: Запустить фильтр перед фиксацией / нажатием? - PullRequest
3 голосов
/ 14 апреля 2010

Есть ли способ запустить измененные файлы через фильтр перед выполнением фиксации? Я хочу убедиться, что файлы соответствуют стандартам кодирования для проекта.

Я также хотел бы скомпилировать и запустить некоторый тест до того, как на самом деле произойдет коммит / пуш, поэтому я знаю, что все в репо действительно работает.

Ответы [ 2 ]

3 голосов
/ 14 апреля 2010

Для части фильтра я бы порекомендовал драйвер smudge / clear со сценарием 'clear', содержащим все необходимое форматирование или проверку (выполнение при коммите)

filter driver

Вы можете объявить этот драйвер фильтра атрибутов git только для определенных типов файлов, только для определенных каталогов в вашем репо.

3 голосов
/ 14 апреля 2010

Pre-commit крючки. Читайте о git hooks . В Git Book есть пример того, как написать скрипт Ruby для запуска тестов RSpec, например.

Вы просто сохраняете исполняемый файл как .git / hooks / pre-commit - используя hashbang для указания языка. Это обычный сценарий оболочки, хотя вы можете использовать любой язык сценариев, если он возвращает 1, если есть проблема, и 0, если ее нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...