Запустите перехват pre-commit.com один раз (не для каждого файла), если обнаружен соответствующий файл
У меня есть ловушка, которая генерирует файлы документации из исходных файлов, созданных с помощью инфраструктуры pre-commit.com. Функция, которая вызывается в этом хуке, не имеет аргумента файла, поэтому она просто создает документацию для всех исходных файлов в каталоге. Крюк является system
hook, то есть просто bash-скрипт, где я вызываю эту функцию для создания документации. Однако в рамках pre-commit.com файлы передаются в ловушку, и логика заключается в том, чтобы выполнять ловушку для каждого файла, что имеет смысл в большинстве случаев (например, связывать каждый файл отдельно). Итак, мой вопрос: как я могу гарантировать, что хук документации будет запущен один раз, если будет изменен какой-либо исходный файл, в отличие от того, что он запускается несколько раз (параллельно или последовательно) для отдельных файлов? Конкретно, мой хук генерирует R документацию с roxygen2::roxygenize()
и можно найти здесь.
1 ответ
Структура пред-фиксации поддерживает pass_filenames: false
Документы могут быть улучшены здесь, но это то, что они должны сказать
pass_filenames
- (необязательно: по умолчаниюtrue
) еслиtrue
этот хук должен принимать имена файлов в качестве позиционных аргументов. новое в 0.14.0.
хммм да, может быть, не лучшее описание - но если false
pre-commit
будет вызывать вашу команду только один раз и не будет передавать имена файлов