В этой статье упоминается перенаправить объекты и папку refs в базу данных, могут ли другие файлы в репозитории git (папка .git
) перенаправляться аналогичным образом?
Поддерживает ли libgit2 перенаправление всех операций в каталог .git?
Ответы (1)
libgit2 позволяет вам заменить методы доступа по умолчанию, поэтому вам не нужно хранить данные в git-dir, но он не дает возможности избежать использования git-dir.
Git-dir — это место, где Git хранит данные о состоянии репозитория, включая ссылки, файл конфигурации и объекты. Это три вещи, которые вы можете попросить libgit2 использовать другой объект вместо того, который просматривает каталог, когда git их создает. Это может привести к тому, что эти репозитории будут несовместимы с самим git, поэтому это решение не следует принимать легкомысленно.
Но git-dir также содержит файл исключений, индекс, хуки, MERGE_HEAD
и другие файлы _HEAD
, временные файлы для сообщения коммита, лист инструкций по перебазированию... Ничто из этого не является полноценными объектами, которые libgit2 позволяет вы подключаетесь, некоторые из них вообще не читаются libgit2.