[devel] git/gear и upstream

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Авг 26 15:26:40 MSD 2007


On Sun, Aug 26, 2007 at 01:54:08PM +0300, Artem Zolochevskiy wrote:
> -->вот положим вышла новая версия <--
> (обновляем иcходники в бранче upstream)
> $ git branch upstream

git-checkout upstream

> $ gear-update ../archive/fdupes-1.12.tar.gz fdupes
> $ git commit -m "fdupes-1.12.tar.gz"
> $ git tag -a -m "fdupes 1.12" v1.12
> (пакуем)
> $ git branch master

Здесь тоже checkout

> $ git merge v1.12 (добавляем новые исходники в master)

Я обычно делаю типа (кажется это вредная привычка)
git-pull . upstream
а ещё можно делать
git-pull . tag vVER

> $ vim fdupes.spec
> $ git add  fdupes.spec

Повторно добавлять не надо, можно просто делать gear-commit -a.
Что-то я до конца не разобрался как там этот индекс обновляется.

> $ gear-commit
> $ git tag -a -m "fdupes 1.12-alt1" 1.12-alt1
> --> готово, версия 1.12-alt1 <--
> 
> итд по кругу по мере выхода новых версий.

Да, в целом всё так.

> 2. не городим upstream (тут, видимо, как-то надо хитро обновлять исходники)
> 
> $ tar xf archive/fdupes-1.0.tar.gz
> (тут у меня каталог с правильным именем получился, а если нет, то надо что-то 
> вроде - $ mv fdupes-version  fdupes)
> $ cd fdupes
> $ ls
> fdupes.c  INSTALL  Makefile  README  runtest  testdir
> $ git init
> $ git add .
> $ git commit -m "fdupes-1.0.tar.gz"
> $ git tag -a -m "fdupes 1.0" v1.0 (делаем tag для этой версии исходников)
> 
> --> вот тут вопрос: как обновить исходники? <--
> gear-updates тут поможет?

gear-update это какая-то странная штука, коммита она не делат,
зачем нужна не понял.  Если бы она после распаковки искала mtime
и делала коммит с этим mtime это было бы круче.

> саму логику дальнейшей работы я понимаю так-то так:
> $ git checkout -b temp v1.0 (временный бранч для иходников)
> $ как-то обновляем иходники до новой версии (v1.11)
> $ git commit -m "fdupes-1.11.tar.gz"
> $ git tag -a -m "fdupes 1.11" v1.11 (делаем tag для этой версии исходников)
> $ git branch -D temp
> (я верно понимаю что бранч temp тут можно уже стирать?)

Нужно будет сначала переключиться на другой бранч.

> (пакуем)
> $ git checkout master
> $ echo "tar: fdupes" > .gear-rules
> $ vim fdupes.spec
> $ git add  .gear-rules fdupes.spec
> $ gear-commit
> $ git tag -a -m "fdupes 1.11-alt1" 1.11-alt1
> --> готово, версия 1.11-alt1 <--
> 
> -->вот положим вышла новая версия <--
> (обновляем иcходники)
> $ git checkout temp v1.11
> $ как-то обновляем иходники до новой версии (v1.12)
> $ git commit -m "fdupes-1.11.tar.gz"
> $ git tag -a -m "fdupes 1.11" v1.11 (делаем tag для этой версии исходников)
> $ git branch -D temp
> (я верно понимаю что бранч temp тут можно уже стирать?)
> 
> (пакуем)
> $ git branch master
> $ git merge v1.12 (добавляем новые исходники в master)
> $ vim fdupes.spec
> $ git add  fdupes.spec
> $ gear-commit
> $ git tag -a -m "fdupes 1.12-alt1" 1.12-alt1
> --> готово, версия 1.12-alt1 <--
> 
> итд по кругу по мере выхода новых версий.

Насколько я понимаю, в этих двух вариантах у Вас получится полностью
аналогичная структура коммитов.

	  * updated spec for tar2
	 /M merged tar2
	* | tar2
	| * updated spec for tar1
	|/M merged tar1
	* | tar1
	| * added spec and .gear-rules
	0/  tar0

Будет ли какой-то бранч с отдельным названием в точке tar2,
не имеет значения.

Я думал Вы более тонкие вопросы спрашиваете, например как быть
поcле gear-srpmimport.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20070826/42d3c000/attachment-0001.bin>


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