Как включить .path .gitconfig, который содержит относительный core.hooksPath - PullRequest
0 голосов
/ 09 ноября 2019

Указывая глобальный 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

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

...