[devel] perl.git rewrite history

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Сен 20 20:48:24 MSD 2006


Hi,

On Wed, Sep 20, 2006 at 08:54:03AM +0400, Alexey Tourbin wrote:
[...]
> Зато я примерно понял как устроен git.  Сейчас попробую объяснить, может
> кому-нибудь от этого будет просветление.  git -- это дерево объектов.
> Дерево означает что один объект содержит ссылки на другие объекты вниз
> по дереву.  Объекты бывают двух типов: blob (файлы) и tree (структура
> каталогов, в которые надо сувать файлы).  tree содержит ссылки на блобы.

Объект типа tree содержит список sha1-имён объектов типов blob и tree.

> Ещё бывают объекты типа commit; каждый новый commit описывает трансформацию
> дерева относительно предыдущего коммита.  В объекте commit содержится
> ссылка на предыдущий коммит

Объект типа commit содержит список sha1-имён объектов типа commit.

> и ссылка на дерево

Объект типа commit содержит sha1-имя объекта типа tree.

> которое перекрывает этот
> предыдущий коммит.  Всё что новое дерево не перекрывает -- всё то
> остается от дерева из старого коммита.

Нет, никто ничего не перекрывает, просто за каждым commit'ом закреплено
своё дерево.

> Так, имея на руках коммит, можно
> пройтись вниз по дереву к предыдущему коммиту и т.д., т.е. полностью
> развернуть дерево исходников.

Нет, для того, чтобы развернуть дерево исходников, соответствующих данному
коммиту, не надо ходить к другим коммитам, достаточно просто развернуть
дерево, на которое указывает данный коммит.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20060920/1d832167/attachment-0001.bin>


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