From: Artem Zolochevskiy <artem.zolochevskiy@gmail.com>
To: devel@lists.altlinux.org
Subject: Re: [devel] git/gear и upstream
Date: Sun, 26 Aug 2007 13:54:08 +0300
Message-ID: <200708261354.08994.artem.zolochevskiy@gmail.com> (raw)
In-Reply-To: <20070825195442.GD26788@solemn.turbinal>
В сообщении от Saturday 25 August 2007 22:54:42 Alexey Tourbin написал(а):
> On Sat, Aug 25, 2007 at 10:36:58PM +0300, Artem Zolochevskiy wrote:
> > > Подумайте также, удобно ли Вам класть содержимое тарболла в подкаталог
> > > или нет. Мне удобнее работать без подкаталога, но это делает
> > > невозможным (при сохранении этой схемы) внесение в репозитарий ещё
> > > одного тарболла.
>
> Это удобство на уровне preferences. Если все патчи приложены
> к исходикам, то каталог вида %name/%name кажется мне лишним.
>
> С другой стороны, gear-srpmimport предалагет именно такой каталог,
> но и здесь можно изголиться, если очень захотеть.
я попробую описать 2 способа работы с upstream доступным в tar.gz (на реальном
примере fdups)
подскажите, что/где не так. что лишнее/чего не хватает.
я, правда, совсем не знаю, как это все будет если ещй и какие-то патчи есть.
мне и без патчей не так просто всё это понять.
итак:
1. upstream в отдельном бранче (upstream)
$ mkdir fdupes
$ cd fdupes
$ git init
$ tar xf ../archive/fdupes-1.0.tar.gz
$ ls
fdupes
(тут у меня каталог c исходниками с правильным именем получился, а если нет,
то надо что-то вроде - $ mv fdupes-version fdupes)
$ git add .
$ git commit -m "fdupes-1.0.tar.gz"
$ git tag -a -m "fdupes 1.0" v1.0 (делаем tag для этой версии исходников)
$ gear-update ../archive/fdupes-1.11.tar.gz fdupes
(обновляем исходники до версии 1.11)
$ git-commit -m "fdupes-1.11.tar.gz"
$ git tag -a -m "fdupes 1.11" v1.11 (делаем tag для этой версии исходников)
--> тут хочется это дело упаковать <--
$ git branch upstream (cохраняем все импортированные tar.gz в бранч upstream)
$ 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ходники в бранче upstream)
$ git branch 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
$ 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 <--
итд по кругу по мере выхода новых версий.
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 тут поможет?
саму логику дальнейшей работы я понимаю так-то так:
$ 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 <--
итд по кругу по мере выхода новых версий.
--
Артём Золочевский
next prev parent reply other threads:[~2007-08-26 10:54 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-25 18:31 Artem Zolochevskiy
2007-08-25 19:06 ` Alexey Tourbin
2007-08-25 19:36 ` Artem Zolochevskiy
2007-08-25 19:54 ` Alexey Tourbin
2007-08-26 10:54 ` Artem Zolochevskiy [this message]
2007-08-26 11:26 ` Alexey Tourbin
2007-08-26 16:07 ` Artem Zolochevskiy
2007-08-26 16:39 ` Alexey Tourbin
2007-08-28 17:17 ` Dmitry V. Levin
2007-08-28 17:44 ` Alexey Tourbin
2007-08-28 20:06 ` Dmitry V. Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200708261354.08994.artem.zolochevskiy@gmail.com \
--to=artem.zolochevskiy@gmail.com \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git