From: Igor Vlasenko <vlasenko@imath.kiev.ua> To: devel@lists.altlinux.org Subject: [devel] I: http://www.altlinux.org/Gear/gear-uupdate Date: Thu, 12 Jun 2014 23:54:13 +0300 Message-ID: <20140612205411.GA6263@dad.imath.kiev.ua> (raw) Господа, Выложил документацию по gear-uupdate на http://www.altlinux.org/Gear/gear-uupdate Из наиболее важного, того, что не было в предыдущем письме - описана логика работы утилит - сначала, не трогая репозитория, одна утилита (gear-uupdate-prepare) компилирует логику обновления репозитория в промежуточный код (набор shell скриптов). Эти скрипты можно просмотреть, проверить и пошагово запустить самостоятельно либо с помощью другой утилиты, сохраняя полный контроль над процессом обновления. === раздел 3. запуск вручную === gear-uupdate(1) -- это обертка над парой утилит gear-uupdate-prepare(1) и gear-uupdate-execute. Руками gear-uupdate запускают так: gear-uupdate --upstream-version 6.8.9.3 ImageMagick-6.8.9-3.tar.xz либо так gear-uupdate ImageMagick-6.8.9-3.tar.xz 6.8.9.3 При первом запуске лучше не запускать сразу gear-uupdate, а запустить gear-uupdate-prepare --upstream-version 6.8.9.3 ImageMagick-6.8.9-3.tar.xz gear-uupdate-prepare сначала выполнит проверки из gear-rules-verify. Затем, gear-uupdate-prepare (ничего не меняя в репозитории) генерирует набор shell скриптов. Эти скрипты могут быть созданы в корне gear репозитория, если апстрим в подкаталоге в текущей ветке. в остальных случаях скрипты надо прятать от git, поэтому они создаются в папке .git/uupdate/. После выполнения gear-uupdate-prepare в .git/uupdate/ будет что-то вроде __~.uupdate-step-001-checkout-and-update-upstream-branch.sh __~.uupdate-step-002-merge-upstream-to-patch1-branch.sh ... __~.uupdate-step-006-merge-upstream-to-patch5-branch.sh __~.uupdate-step-007-merge-upstream-to-master.sh __~.uupdate-step-008-update-spec-and-tags.sh Эти скрипты можно просмотреть и убедиться еще раз, что робот понял структуру репозитория правильно. После чего их можно выполнить с помощью gear-uupdate-execute. Утилита gear-uupdate-execute по очереди выполняет сгенерированные скрипты, удаляя скрипт, если он отработал нормально. Во многих схемах устройства gear репозитория изменения автора и изменения майнтайнера мержатся с помощью git, при чем, возможно, ветвь с оригинальными исходниками необходимо будет мержить в несколько ветвей. Для таких операций достаточно часто возникают конфликты. Если конфликт при merge произошел, то gear-uupdate-execute остановится на скрипте, который завершился с ошибкой. git при этом будет в той ветви, в которой происходил merge. В таком случае майнтайнеру необходимо будет вручную разрешить конфликт в исходных файлах, и закоммитить изменения в git. При этом скрипт __~.uupdate-step-*, на котором произошел сбой, можно использовать в качестве готового шаблона команд. Затем можно удалить этот скрипт, и опять запустить gear-uupdate-execute, который выполнит оставшиеся скрипты. Если убедиться, что gear-uupdate-prepare/gear-uupdate-execute отрабатывают нормально, далее уже сразу можно запускать gear-uupdate. -- I V
next reply other threads:[~2014-06-12 20:54 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-06-12 20:54 Igor Vlasenko [this message] 2014-06-16 8:48 ` Anton Farygin 2014-06-16 11:25 ` Igor Vlasenko 2014-06-16 11:38 ` Anton Farygin 2014-06-16 15:53 ` Igor Vlasenko 2014-06-16 19:06 ` Anton Farygin 2014-06-17 4:07 ` Eugene Prokopiev 2014-06-17 17:33 ` Андрей Черепанов 2014-06-16 9:14 ` Anton Farygin 2014-06-16 9:42 ` Igor Vlasenko 2014-06-16 10:30 ` Anton Farygin
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=20140612205411.GA6263@dad.imath.kiev.ua \ --to=vlasenko@imath.kiev.ua \ --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