[devel] [JT] стили ведения gear repo

Afanasov Dmitry ender на altlinux.org
Пт Мар 4 21:30:20 UTC 2011


On Fri, Mar 04, 2011 at 11:25:36PM +0300, Vitaly Lipatov wrote:
> On 3 марта 2011, Afanasov Dmitry wrote:
> ...
> > эта система очень смешно смотрится после git clone
> > git.alt:/gears. смотришь git log, а там то есть иходники, то
> > их нету - мистика! приходится ману на лишний каст $ cat
> > .gear/tag/list делать и уже потом checkout -b.
> Дмитрий, а можно подробнее? Меня всегда приводят в недоумение 
> такие репозитории, и я не понимаю, что с ними делать, чтобы, 
> допустим, обновить до следующей версии. Мне кажется, слишком 
> много действий. На http://altlinux.org не нашёл.
ну, есть два способа.
1. qgit. до коммита Merge branch 'upstream' видны два коммита. правда кто
из них master, а кто upstream в qgit не видно, нужен оригинальный
репозитарий. но можно восстановить чисто логикой: checkout левый и
checkout правый. где .gear - тот master, где нет - тот upstream. это если
не дай бог git merge был сделан только по двум бранчам.

2. .gear/tags/list. в нашем случае он содержит 
ce98d62eb52bb76d9bc8f8b21969ffe078330c5f upstream
этот hash в qgit как раз один из предков Merge branch 'upstream'.
радуемся, что у нас тут бранч, а не тег, как к примеру у меня и делаем
git checkout -b upstream ce98d62eb52bb76d9bc8f8b21969ffe078330c5f

а дальше тривиально: gear-update <tarball> .; git checkout master; git
merge -s ours upstream; gear-update-tag -avc

если забыть -s ours, то исходники появятся master.

когда-то мне здесь же сказали, что gear хранит всю необходимую информацию
для сборки, а значит и теги исходников, которые он хранит в .gear/tags. к
сожалнию, gears хранит инфу только для сборки, для обновления же её
приходится вычислять, особенно в случах с -s ours и -s subtree.

ничего страшного, просто утилита, облегчающая работу, тратит время на
танцы с git, вместо работы с кодом. что иногда провоцирует эмоциональные
всплески :)

-- 
С уважением
Афанасов Дмитрий
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20110305/ff542642/attachment.bin>


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