[devel] gear -- создание тарбола из другого branch

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Сен 26 23:01:02 MSD 2006


On Sat, Sep 23, 2006 at 11:28:11PM +0400, Dmitry V. Levin wrote:
> On Sat, Sep 23, 2006 at 08:51:45PM +0400, Sergey Vlasov wrote:
> > On Sat, Sep 23, 2006 at 07:54:46PM +0400, Dmitry V. Levin wrote:
> > > On Sat, Sep 23, 2006 at 07:23:46PM +0400, Sergey Vlasov wrote:
> > [...]
> > > > Можно держать .gear-rules и spec в отдельном бранче, куда фиктивно
> > > > (через git-pull -s ours) мержить бранчи, содержащие реальные
> > > > исходники; тогда гарантировать наличие нужных объектов будет связь
> > > > между коммитами.
> [...]
> > Только получается, что в .gear-tags придётся писать ссылки именно на
> > commit - ссылку на объект типа tag написать уже нельзя.
> 
> Жаль.  Хотя какая разница, если там всё равно будут sha1-имена.

На самом деле, если подумать, можно сделать и ссылку на tag.

Действительно, в объект типа commit или tree нельзя непосредственно
положить ссылку на объект типа tag.  Но никто не может запретить
прочитать содержимое объекта типа tag и положить его в объект типа
blob.  Таким образом, можно сделать .gear-tags не файлом, а каталогом,
куда складывать копии тегов.

Если ссылка указывала напрямую на commit, можно класть туда просто
sha1 (его всегда можно отличить от содержимого объекта tag).  Цепочку
объектов tag тоже можно сохранить - например, поместив второй и
последующие теги в цепочке под именами вида @<sha1> (символ '@' в
именах ссылок встречаться не может).

При сборке можно создать во временном каталоге репозиторий, записать в
.git/objects/info/alternates текущее значение $GIT_DIR, после чего
перенаправить GIT_DIR во временный репозиторий и восстановить там
сохранённые объекты тегов через git-hash-object.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060926/86763b44/attachment-0001.bin>


Подробная информация о списке рассылки Devel