[devel] git-update-server-info and refs
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Сб Май 6 21:13:31 MSD 2006
On Sat, May 06, 2006 at 07:36:16PM +0400, Anton Farygin wrote:
> Вопрос к знатокам git'а:
>
> делаю git-update-server-info для скачанного репозитария.
>
> В файле .git/info/refs получается часть тэгов помечено как {}, часть -
> не помечено.
>
> Что бы это значило ?
Вообще ^{} обозначает операцию снятия тэгов - т.е., если ref указывает
на объект типа tag, ref^{} будет указывать на объект какого-либо
другого типа, на который в конечном итоге указывал тэг (если в цепочке
было несколько тэгов, указывающих друг на друга, убирается вся
цепочка).
В .git/info/refs для ссылок, указывающих на объекты типа tag, пишется
две строки - sha1 самого тэга (без ^{}) и объекта, на который указывал
этот тэг (с ^{}; обычно это commit, но в общем случае это не
обязательно).
> Воспроизвести можно на udev:
> git-clone git://git.kernel.org/pub/scm/linux/hotplug/udev.git
> cd git
> git-update-server-info
>
> И потом посмотреть .git/info/refs для тэга 091
>
> Посмотрел в исходники - там проверяется наличие if (o->type == tag_type)
>
> Для иэга 091 почему-то не выставлен tag_type
>
> Кто виноват ? что делать ?
Виноват в данном случае мантейнер udev, который с некоторого времени
перестал создавать тэги с описаниями при выпуске версий udev. В git
предполагается, что тэг без описания (просто файл в ./git/refs/tags,
содержащий sha1 commit-а) не нужен никому, кроме разработчика, который
его поставил (возможно, временно), и по умолчанию такие тэги не
забираются при выполнении git fetch (только при явном вызове git fetch
--tags). А вот полноценный тэг, для которого создаётся отдельный
объект, содержащий текстовое описание и, возможно, подпись GPG, git
fetch будет забирать автоматически, если объект, на который указывает
этот тэг, доступен локально.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060506/b468b974/attachment-0001.bin>
Подробная информация о списке рассылки Devel