Гипотетическая ситуация: У меня есть репозиторий, у меня есть индекс, голова, рефов, упакованного-рефов и т.д. я не знаю имена файлов пакета в .git/объектов/пакетКак git знает имя файла пакета sha1?
Как git определяет имя файла пакета? Есть ли способ вычислить имя файла пакета из индексного файла?
Обновление: .git/objects/info/packs является ближайшим Я собираюсь добраться до того, что я ищу. Однако этот файл не всегда присутствует.
Наконец-то выдумал что-то. Список всех файлов пакета (иногда?) Находится в .git/objects/info/packs, что на самом деле было тем, что я искал. Просто хотел дать обновление. –
Это определенно «иногда» (не «всегда»), поскольку этот каталог существует, но пуст в нескольких git-репозициях, которые я проверил (и не пуст в других). 'Documentation/gitrepository-layout.txt' говорит, что это специально для немых транспортов, но см. Также' git help repository-layout', который упоминает 'git repack' как его создание. – torek
Да, я так много думал, но, похоже, лучший вариант, который у меня есть, к сожалению. Вычисление пакета SHA без доступа к диску кажется невозможным (или, по крайней мере, очень тяжелым) из моего понимания. –