From: Aleksey Avdeev <solo@solin.spb.ru> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: [devel] I: cks.git, сборник велосипедов. Date: Mon, 20 Nov 2006 17:04:36 +0300 Message-ID: <4561B5F4.8040703@solin.spb.ru> (raw) [-- Attachment #1.1: Type: text/plain, Size: 2690 bytes --] Здравствуйте, уважаемые. При опакечивании cks (<http://sourceforge.net/projects/cks/>) столкнулся с рядом не слишком удобных моментов (опишу ниже). Основной вывод по результатам -- git поощряет использование стратегий вида "разделяй и властвуй" через механизм бранчей, но за счёт своей структуры -- требует повышенной дисциплины при её применении (раз смешав мух с котлетами, разделить их сложно). Теперь по пунктам. 1. Начальный спек. Т. к. я лентяй, то писать его мне лениво. Предпочитаю копировать откуда нибудь спек, с нужной мне функциональностью, и рихтовать его не месте. В svn я так, в лоб, и поступал. История спека сохранялась, что позволяло править спек основу и мержить её с потомками для переноса этих изменений туда. Лобовое применение же данного похода в git череповато слабоконтролируемым разрастанием размера репозитария: по мимо истории спека будет втаскиваться и история исходников (в svn это было не критично: все проекты и так были в одном репозитарии)... Способ борьбы вижу 1: держать спек в отдельном бранче и править его только там. Для сборки пакетов -- мержить с остальными компонентами. + -- такой подход позволяет сделать репозитарий спеков и применять его в качестве отдельного ингредиента. То что получилось у меня -- здесь: <git.alt:/people/solo/packages/specs.git>. Там пока только cks.spec и часть примеров с <http://wiki.sisyphus.ru/devel/SampleSpecs.git>... 2. .gear-rules Примерно тоже самое, что и со спеком. Но выражено слабее... Тоже, в отдельный бранч, вынес. (Потом, его -- сюда <git.alt:/people/solo/packages/gear-rules.git>). 3. Патчи Т. к. генерёжку патчей официальный gear пока не поддерживает (см. <http://lists.altlinux.org/pipermail/devel/2006-October/037580.html>), то пришлось изобретать свой велосипед. git2patch.sh -- скрипт простейшего вида, без защит (к письму приложен, доступен на <git.alt:/people/solo/packages/git2patch.git>). При применение требует приписывания тага базы и тагов для генерации патчей. Коммит с полученными патчами наследуется от всех тагов-источников. 4. Код из отдельного источника Тоже удобно хранить в отдельном бранче. Общая структура git.alt:/people/solo/packages/cks.git: 1) gear работает с бранчем srpm; 2) в srpm все изменения попадают как слияние следующих источников: а) spec -- бранч со спеком; б) patchs -- бранч с патчами (генерится .git2patch/git2patch.sh) в) alt -- бранч с деревом исходников, перемещённым в каталог (cks-0.2.3, в моём случаи). Все изменения _только_ в этих бранчах источниках. В самом srpm -- только слияния с ними. -- С уважением. Алексей. [-- Attachment #1.2: git2patch.sh --] [-- Type: application/x-shellscript, Size: 906 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 550 bytes --]
reply other threads:[~2006-11-20 14:04 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=4561B5F4.8040703@solin.spb.ru \ --to=solo@solin.spb.ru \ --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