Указывая глобальный core.hooksPath в ~ / .gitconfig, он (на удивление) поддерживает относительный путь текущего корня репо, находящегося внутри, т. Е.:
[core]
hooksPath = .githooks
Будет выполняться:
/<path to repo>/foobar/.githooks
И с использованием
[include]
path = .gitconfig
Будет ошибка:
fatal: exceeded maximum include depth (10) while including
/Users/me/.gitconfig
from
/Users/me/.gitconfig
This might be due to circular includes.
Пока это работает:
[include]
path = git/foobar/.gitconfig
Я хотел бы добавить.gitconfig для репозитория, чтобы я мог использовать include
в глобальной конфигурации. В идеале это переопределит глобальный core.hooksPath
для любого, кто его клонирует, только когда он находится внутри репозитория с .gitconfig. Это работает , если я использую полные пути как для глобального include.path
, так и для локального репозитория .gitconfig core.hooksPath
.
Проблема в том, что у меня возникают проблемы с пониманием относительного сглаживания путей при использовании глобальных включений.
Я добавил это в свой глобальный репозиторий для foobar, но он молча завершился неудачей:
[include]
path = ~/**/foobar/.gitconfig
и на мой ~ / git / foobar / .gitconfig:
[core]
hooksPath = .githooks
Я перепробовал много итераций, но мне трудно угадать это правильно, иВ документах не было ясно, какие ситуации являются относительными при использовании пути внутри глобального файла.