From: Artem Zolochevskiy <artem.zolochevskiy@gmail.com> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: [devel] git: бранчи/дистрибутивы/обновления Date: Sun, 22 Jul 2007 04:07:15 +0300 Message-ID: <200707220407.16227.artem.zolochevskiy@gmail.com> (raw) Господа, Кто что посоветует по организации git/gear репозитория в свете поддержания различных версий пакета, находящегося в Sisyphus/Desktоp/Server/Junior ? Постарался уложить в голову взаимодействие git/gear/выпуски_дистрибутивов/и_обновлений Как вернее всё это увязать? Где/что можно делать лучше, правильнее эффективнее? На вот этом совсем простом примере: +--- Готовим пакет для Сизифа +--- $ mkdir example $ cd example $ git init $ cat > text.txt <<EOF Этот текст описывает что-то Пошло описание чего-то. Ещё одна строка описания Для этого надо нажать красную кнопку. EOF $ git add text.txt $ git commit -m "initial revision" $ cat > example.spec <<EOF Name: example Version: 0.1 Release: alt1 %changelog * date name <mail> 0.1-alt1 - initial build for Sisyphus EOF $ git add example.spec $ git commit -m "spec added" $ echo "tar: ." > .gear-rules $ git add .gear-rules $ git commit -m ".gear-rules added" $ git-tag 0.1-alt1 ну и gear > example-0.1-alt1.src.rpm > Sisyphus Далее пакет уходит в том виде что есть в дистрибутив скажем Desktop. +--- Новая версия для Сизифа +--- Для Сизифа же выпускаются новые версии example $ echo "ещё какая-то информация" >> text.txt $ git add text.txt $ git commit -m "more info in text.txt" $ vi example.spec (меняем версию/changelog) $ cat example.spec Name: example Version: 0.2 Release: alt1 %changelog * new-date name <mail> 0.2-alt1 - initial build for Sisyphus * date name <mail> 0.1-alt1 - initial build for Sisyphus $ git add example.spec $ git commit -m "spec modified for 0.2-alt1" $ git-tag 0.2-alt1 gear > example-0.2-alt1.src.rpm > Sisyphus (в Desktop по-прежнему example-0.1-alt1.src.rpm) +--- Обновление или бэкпорт для Desktop +--- Теперь обнаруживается баг репорт (опечаткa :-) в пакете, попавшем в Desktop) надо бы её поправить. т.е по идее надо бы изготовить пакет для Desktop (видимо в соответсвии с policy относительно версий) ??? Вот тут как поступить ??? ТАК??? == 1. сделать изменение в текщей версии и отправить в обновления Desktop т.е. получается версия examples-0.1-alt1 обновится до examples-0.3-alt1, cодержащий помимо фикса ещё и дополнительную фичу в виде строчки "ещё какая-то информация" Это вообще допустимо? $ vi test.txt s/Ещё одна строка описания/Ещё одна строка описания./ $ git add test.txt $ git commit -m " misiing '.' fixes bug#XXX" $ vi example.spec (меняем версию/changelog) $ cat example.spec Name: example Version: 0.3 Release: alt1 %changelog * new-new-date name <mail> 0.3-alt1 - fixed bug#XXX * new-date name <mail> 0.2-alt1 - initial build for Sisyphus * date name <mail> 0.1-alt1 - initial build for Sisyphus $ git add example.spec $ git commit -m "spec modified for 0.3-alt1" $ git-tag 0.3-alt1 gear > example-0.3-alt1.src.rpm > Sisyphus gear > example-0.3-alt1.src.rpm > куда? чтоб он попал в обновления. == 2. А если сторочка "ещё какая-то информация" для Desktop никак не применима, то, видимо, надо отдельный бранч заводить? как-то так: $ git checkout -b desktop 0.1-alt1 $ vi test.txt s/Ещё одна строка описания/Ещё одна строка описания./ $ git add test.txt $ git commit -m "added point. fixes bug#XXX" $ vi example.spec (меняем версию/changelog) $ cat example.spec Name: example Version: 0.1 Release: alt1.M40.1 %changelog * new-date name <mail> 0.1-alt1.M40.1 - fixed bug#XXX * date name <mail> 0.1-alt1 - initial build for Sisyphus $ git commit -m "spec modified for 0.1-alt1.M40.1" $ git-tag 0.1-alt1.M40.1 gear > example-0.3-alt1.src.rpm > куда? чтоб он попал в обновления. т.е. получается некое копирования branch-ами структуры нашего ftp Теперь хорошо бы, наверное, эту забытую "." и в текущую версию внести Видимо, это можно cделать: $ git checkout master a) просто вручную cделать commit б) merge? скорее даже git merge -s ours desktop ? c) или обойтись git-cherry-pick на коммит с фиксом точки? если, он был сделан в desktop отдельным коммитом. Или вообще всё не так. И выше, надо эту "." исправить в master, а уж затем $ git checkout -b desktop 0.1-alt1 $ git merge master Тут, кажется, мне просто не хватает практики/понимания merge-вания и branch-евания Ну суть вопроса, надеюсь, ясна. Кто-что посоветует по организации git/gear репозитория в свете поддержания различных версий пакета, находящегося в Sisyphus/Desktоp/Server/Junior ? PS Слава героям, дочитавшим этот пост до конца :-) -- Артём Золочевский
next reply other threads:[~2007-07-22 1:07 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-07-22 1:07 Artem Zolochevskiy [this message] 2007-07-22 8:03 ` Damir Shayhutdinov 2007-07-22 16:06 ` Artem Zolochevskiy 2007-07-23 9:01 ` Aleksey Avdeev
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=200707220407.16227.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