[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