* [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
@ 2007-04-09 18:06 Eugene Prokopiev
2007-04-09 19:52 ` Alexey Tourbin
0 siblings, 2 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-09 18:06 UTC (permalink / raw)
To: ALT Devel discussion list
Здравствуйте!
Нечто подобное уже описывалось здесь:
http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
Но в процессе выполнения у меня возникло множество вопросов, поэтому я
попытался описать примерно то же самое, но более доступно для таких, как
я сам ;) Отправляю пока сюда, а не в вики, потому что надеюсь на
конструктивную критику: очень интересно, что я сделал неправильно и не
оптимально. Также прошу дополнить пример соответствующими примерами для
работы с svn и cvs (у меня в качестве upstream scm рассматривается
только git, о своих проблемах с svn я писал несколько выше)
Спасибо всем, кто мне помогал: Алексею Авдееву, Владимиру Камарзину,
Сергею Власову и многим другим ...
------------------------------------------------------------------------
<< Сопровождение пакета в git.alt и взаимодействие с upstream scm на
примере dbmail >>
Мне удобнее всего вести разработку в 2-х бранчах:
1) dbmail_2_2 - импортируется из upstream scm, причем только тот бранч,
который соответствует версии нашего пакета
2) srpms - все, что необходимо для сборки пакета
В самом начале необходимо создать каталог dbmail, в котором будет
вестись разработка, и инициализировать репозитарий c помощью
git-init-db, перейдя в этот каталог. Это необходимо сделать каждому
разработчику, принимающему участие в разработке пакета.
Затем необходимо импортировать содержимое последнего пакета (можно не
только последнего) в в бранч srpms репозитария с помощью gear-srpmimport
--import-only, перейти в бранч rpms с помощью git-checkout и удалить
распакованные исходники (git-rm -r -f dbmail), т.к. мы будем
генерировать тарболл с исходниками из бранча upstream scm. Эта операция
выполняется один раз одним разработчиком.
Остальные операции будут выполняться разработчиками регулярно по мере
необходмости:
1) Импорт из upstream scm и сборка пакета:
* для git: git-fetch [url] [remote tag]:[local tag] - в нашем
случае команда будет выглядеть так:
git-fetch http://nfg3.nfgs.net/git/dbmail.git dbmail_2_2:dbmail_2_2
* для svn: ?
* для cvs: ?
После импорта необходимо перейти в новый бранч (git-checkout dbmail_2_2)
найти таг, на основе которого будет генерироваться тарболл, или создать
его с помощью git-tag, указав идентификатор коммита или имя бранча - в
этом случае будет взят последний на момент создания тага коммит в
бранче. Дерево git удобнее всего изучать с помощью gitk --all, список
тагов - с помощью git-show-ref. В нашем случае команда создания тага
будет выглядеть так:
git-tag -a -m 'new dbmail 2.2.4 09.04.2007 21:40'
dbmail/2.2.4.200704092140 a42aa96f31a555c2b20d600cdd6e961c0d9cfb67
Соданный таким образом новый или уже существующий коммит необходимо
подшить к бранчу srpms (предварительно перейдя в него - git-checkout
srpms), чтобы он был доступен при генерации тарболла:
git-merge -s ours 'Using upstream branch' HEAD dbmail/2.2.4.200704092140
Затем необходимо обновить .gear-tags с помощью gear-update-tag -a
Идентификатор тага необходимо указать в файле .gear-rules, заменив
строку, начинающуюся с tar.[gz|bz2] на:
tar.[gz|bz2]: [tag]:. name=[tarball]
В нашем случае запись будет основана на текущей дате/времени импорта из
upstream scm и будет выглядеть так:
tar.gz: dbmail/2.2.4.200704090940:. name=dbmail-2.2.4.git200704090940
После этих подготовительных операций необходимо описать в спеке, что же
мы сделали (как минимум увеличить номер версии и добавить запись в
%changelog), и попытаться собрать src.rpm с помощью:
gear --commit --rpmbuild -- rpm -bs --nodeps --sign
и
gear --commit --hasher -- hsh ~/hasher/
Если все прошло удачно, можно закоммитить изменения:
gear-commit -a
Полезно предварительно определить переменную EDITOR, чтобы для
редактирования сообщений использовался наш любимый текстовый редактор.
2) Выгрузка изменений в локальном репозитарии на git.alt:
Для выгрузки необходимо создать файл .git/remotes/origin с таким содержимым:
URL: git.alt:packages/dbmail.git
Push: refs/heads/*:refs/heads/*
Push: refs/tags/*:refs/tags/*
Выгружать можно командой git-push
3) Загрузка изменений из git.alt в локальный репозитарий:
Необходимо повторить следующее для каждого используемого бранча:
git-fetch [url] [remote branch]:[local branch]
В нашем случае:
git-fetch git.alt:packages/dbmail dbmail_2_2:dbmail_2_2
git-fetch git.alt:packages/dbmail srpms:srpms
Бранч dbmail_2_2 можно загружать и из
http://nfg3.nfgs.net/git/dbmail.git, но это будет медленнее. В тех
случаях, когда необходимо обновить dbmail из upstream scm, особого
выбора нет ;)
Каждый участвующий в разработке должен после окончания работы выгрузить
изменения в свой репозитарий на git-alt, все прочие перед началом работы
должны загрузить свежие изменения в свой локальный репозитарий из чужого
репозитария на git.alt.
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 18:06 [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
@ 2007-04-09 19:52 ` Alexey Tourbin
2007-04-09 20:01 ` Dmitry V. Levin
2007-04-10 11:56 ` Aleksey Avdeev
1 sibling, 2 replies; 32+ messages in thread
From: Alexey Tourbin @ 2007-04-09 19:52 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 573 bytes --]
On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
> http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
> http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
В общем, я бы не стал делать, как там написано. По-моему, Вам и другим
maintainer'ам будет проще всего работать с таким git репозитарием, в
котором содержимое рабочего бранча (master) максимально приближено к
результату rpm -bp. Тогда можно сразу править что нужно и посто
коммитить. Это не исключает .gear-tags.
Могу подробнее объяснть, как я бы сделал, если не понятно.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 19:52 ` Alexey Tourbin
@ 2007-04-09 20:01 ` Dmitry V. Levin
2007-04-09 20:37 ` Alexey Tourbin
2007-04-10 11:56 ` Aleksey Avdeev
1 sibling, 1 reply; 32+ messages in thread
From: Dmitry V. Levin @ 2007-04-09 20:01 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 532 bytes --]
On Mon, Apr 09, 2007 at 11:52:27PM +0400, Alexey Tourbin wrote:
> On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
> > http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
> > http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
>
> В общем, я бы не стал делать, как там написано.
Ты имеешь в виду первый рецепт (когда есть upstream scm) или второй рецепт
(когда есть только upstream tarball)?
> Могу подробнее объяснть, как я бы сделал, если не понятно.
Пока не понятно. ;)
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 20:01 ` Dmitry V. Levin
@ 2007-04-09 20:37 ` Alexey Tourbin
2007-04-10 5:42 ` Eugene Prokopiev
2007-04-10 6:41 ` Alexey I. Froloff
0 siblings, 2 replies; 32+ messages in thread
From: Alexey Tourbin @ 2007-04-09 20:37 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 3471 bytes --]
On Tue, Apr 10, 2007 at 12:01:51AM +0400, Dmitry V. Levin wrote:
> On Mon, Apr 09, 2007 at 11:52:27PM +0400, Alexey Tourbin wrote:
> > On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
> > > http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
> > > http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
> >
> > В общем, я бы не стал делать, как там написано.
>
> Ты имеешь в виду первый рецепт (когда есть upstream scm) или второй рецепт
> (когда есть только upstream tarball)?
У мутта 1.5 вроде тоже есть git.
В случае с тарболлами иногда удобнее деражть содержимое тарболла в
подкаталоге, а патчи держать отдельно; а иногда удобнее прикладывать
патчи к тарболлу, тогда подкаталог не нужен (а spec положить прямо в
каталог, это не криминально).
Ну, если тарболлы выходят достаточно часто, и если изменения в них
не очень большие, тогда есть надежда на достаточно простой merge с
новым тарболлом, и можно патчи прикладывать. Если же в в каждом
очередном тарболле всё переделывают, и в результате мержа получается
много конфилктов, тогда проще держать патчи отдельно. Также это
касается некоторых случаев, когда большинство патчей имортируется
откуда-то ещё, например из федоры.
Я например не знаю, как мне сейчас с netpbm в этом отношении быть.
Всё время откладываю его в долгий ящик. :(
> > Могу подробнее объяснть, как я бы сделал, если не понятно.
> Пока не понятно. ;)
Допустим что есть апстримный project.git, в котором есть таги 1.1, 1.2,
1.3 и основной бранч master, который содержит эти таги. (На самом деле не
важно, git это или git-svnimport или git-cvsimport.)
Допустим, что у нас есть project-1.1.src.rpm и project-1.2.src.rpm.
Мы хотим импортировать эти src.rpm'ы и собрать новый релиз 1.3 (или
прямо origin).
Я бы имортировал вот как. Сначала клонируем апстрим, имеем бранч
origin.
Преподолжим, что в src.rpm'ах есть всего один "большой" тарболл с
подкаталогом, а других тарболлов нет (но, возможно есть патчи).
Тогда можно применить модифицированный gear-srpmimport, который
не создает подкаталога, чтобы избежать перемещения файлов.
Импортируем src.rpm'ы, привязывая их к апстримным тагам.
$ git-checkout -b srpms 1.1
$ gear-srpmimport project-1.1.src.rpm
$ git-branch foo 1.2
$ git-pull --no-commit -s ours . foo && git-branch -D foo
$ gear-srpmimport project-1.2.src.rpm
Здесь происходит merge апстримного тага 1.2 и нашей предыдущей сборки
1.1-alt1. С первого раза этот трюк, наверное, сложно понять. К
сожалению, я не знаю, как это можно предельно понятно объяснить.
Теперь мы стоим на бранче srpms, и на него показывает таг 1.2-alt1.
Перименовываем бранч srpms в бранч master и продолжаем с ним работать
как с основным бранчем для подготовки пакетов.
$ git-branch -D master
$ git-checkout -b master srpms
$ git-branch -D srpms
Нужно проверить, что git-diff 1.2..1.2-alt1 показывает только *.spec и
.gear-rules (кроме, быть может, $Id$ и прочей мишуры).
Теперь можно приложить патчи, если они есть, прямо к дереву исходников.
Если приложили патчи, желательно добавить %release в название тарболла и
в .gear-rules. Также желательно разжать тарболл, чтобы был просто *.tar.
Дальше делаем
$ git-pull . origin
Наша сборка переместилась на origin. Теперь можно сделать
$ gear --rpm -- rpm -bc
Если всё работает, то остается исправить version и release в спеке на
1.3-alt1 (или 1.4-alt0.1) и сделать gear-commit -a.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* [devel] Subversion tags (was: Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm)
@ 2007-04-09 23:33 ` Grigory Batalov
2007-04-09 23:39 ` Alexey Tourbin
2007-04-10 6:44 ` [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
1 sibling, 1 reply; 32+ messages in thread
From: Grigory Batalov @ 2007-04-09 23:33 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 738 bytes --]
On Mon, 9 Apr 2007 23:19:17 +0400, Alexey Tourbin wrote:
> > * для git: git-fetch [url] [remote tag]:[local tag] - в нашем
> > случае команда будет выглядеть так:
> >
> > git-fetch http://nfg3.nfgs.net/git/dbmail.git dbmail_2_2:dbmail_2_2
> >
> > * для svn: ?
>
> git-svnimport или git-svn
А как поступать с тегами Subversion типа $Date$ ?
При импортировании в git они так и остаются нераскрытыми, тогда как
в распространяемых тарболах обычно преобразуются к
$Date: 2006-10-31 20:28:54 +0000 (Tue, 31 Oct 2006) $
и т.п. Можно было бы не обращать на них внимания, но иногда программы
формируют свою версию при выводе на экран именно из таких тегов.
--
Grigory Batalov,
ALT Linux Team
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Subversion tags (was: Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm)
2007-04-09 23:33 ` [devel] Subversion tags (was: Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm) Grigory Batalov
@ 2007-04-09 23:39 ` Alexey Tourbin
0 siblings, 0 replies; 32+ messages in thread
From: Alexey Tourbin @ 2007-04-09 23:39 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1068 bytes --]
On Tue, Apr 10, 2007 at 03:33:38AM +0400, Grigory Batalov wrote:
> On Mon, 9 Apr 2007 23:19:17 +0400, Alexey Tourbin wrote:
>
> > > * для git: git-fetch [url] [remote tag]:[local tag] - в нашем
> > > случае команда будет выглядеть так:
> > >
> > > git-fetch http://nfg3.nfgs.net/git/dbmail.git dbmail_2_2:dbmail_2_2
> > >
> > > * для svn: ?
> >
> > git-svnimport или git-svn
>
> А как поступать с тегами Subversion типа $Date$ ?
> При импортировании в git они так и остаются нераскрытыми, тогда как
> в распространяемых тарболах обычно преобразуются к
>
> $Date: 2006-10-31 20:28:54 +0000 (Tue, 31 Oct 2006) $
>
> и т.п. Можно было бы не обращать на них внимания, но иногда программы
> формируют свою версию при выводе на экран именно из таких тегов.
Лучше чтобы оставались не раскрытыми. Это только в очень редких случаях
нужно, чтобы они раскрывались, например, если в manaul page это
используется как дата и т.п. Иначе будут засоряться изменения, будут
проблему с мержами...
У git-cvsimport есть опция -k.
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 20:37 ` Alexey Tourbin
@ 2007-04-10 5:42 ` Eugene Prokopiev
2007-04-10 7:35 ` Eugene Prokopiev
2007-04-10 6:41 ` Alexey I. Froloff
1 sibling, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 5:42 UTC (permalink / raw)
To: ALT Devel discussion list
Понял я действительно мало, но по мотивам обсуждения родились такие
выводы: действительно, проще вести сборку пакета в одном бранче. Т.е.
процедура такова:
1) Импортируем последний src.rpm (смысл импорта нескольких от меня,
честно говоря, ускользает: я вряд ли чего полезного почерпну из старых
спеков)
2) Каталог с исходниками очищаем и делаем в него git-pull из требуемого
апстримного бранча (или git-svnimport/git-cvsimport) - мне все-таки
удобнее держать исходники отдельно. Когда основным поддерживаемым
апстримным бранчем станет другой, удаляем все из каталога и делаем в
него git-pull из этого нового бранча.
3) В .gear-rules соответвенно указываем существующий или созданный нами
таг, ссылающийся на какой-либо коммит апстрима - танцы с merge,
получается, не нужны
4) Патчи, если таковые имеются, можно держать в отдельных файлах, как и
раньше. Если эти патчи мои, то делаю я их старым проверенным способом:
собираю апстримные исходники и тестирую разультат где-то отдельно
(иногда в системе, в которой не жалко сделать make install ;) ),
изменяемые файлы перед изменением обзываю .orig, после изменений делаю
gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный
способ с отдельным бранчем под каждый патч?
Вроде это должно работать. Какие имеются противопоказания?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 20:37 ` Alexey Tourbin
2007-04-10 5:42 ` Eugene Prokopiev
@ 2007-04-10 6:41 ` Alexey I. Froloff
1 sibling, 0 replies; 32+ messages in thread
From: Alexey I. Froloff @ 2007-04-10 6:41 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 902 bytes --]
* Alexey Tourbin <at@> [070410 00:38]:
> У мутта 1.5 вроде тоже есть git.
Он там такой, что лучше бы его не было вообще... Но вот Brendan
Cully девелопает всё в mercurial, туда я ещё не добрался.
> В случае с тарболлами иногда удобнее деражть содержимое тарболла в
> подкаталоге, а патчи держать отдельно; а иногда удобнее прикладывать
> патчи к тарболлу, тогда подкаталог не нужен (а spec положить прямо в
> каталог, это не криминально).
Мне почему-то удобнее держать сорцы в подкаталоге, ради этого всё
и затевалось. Проблема в том, что в diff: попадают спек и
.gear-*, "как-то неаккуратненько".
P.S. А master действительно соответствует rpm -bp, только в
описании процесса я остановился на импорте.
--
Regards, Alexey I. Froloff
AIF5-RIPN, AIF5-RIPE
-------------------------------------------
Inform-Mobil, Ltd. System Administrator
http://www.inform-mobil.ru/
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 23:33 ` [devel] Subversion tags (was: Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm) Grigory Batalov
@ 2007-04-10 6:44 ` Eugene Prokopiev
2007-04-10 6:47 ` Eugene Prokopiev
` (2 more replies)
1 sibling, 3 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 6:44 UTC (permalink / raw)
To: ALT Devel discussion list
>> * для svn: ?
>
>
> git-svnimport или git-svn
Единственное, что у меня заработало:
git-init-db
git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve
git-svn-fetch
Но таким образом я получил весь репозитарий полностью, а мне достаточно
бранча libsieve_2_2_branch -
http://libsieve.svn.sourceforge.net/viewvc/libsieve/branches/libsieve_2_2_branch/
Как вытащить только его? Другой вопрос: ладно, я вытащил все, как теперь
получить исходники, соответствующие этому бранчу? Я вижу:
Т.е. нет и намека на бранч libsieve_2_2_branch :(
Как пользоваться git-svnimport я вообще не понял. Может кто-нибудь
показать, с какими параметрами его вызвать, чтобы получить результат,
хотя бы аналогичный git-svn?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 6:44 ` [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
@ 2007-04-10 6:47 ` Eugene Prokopiev
2007-04-10 7:01 ` Vladimir V. Kamarzin
2007-04-10 9:16 ` Alexey Tourbin
2 siblings, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 6:47 UTC (permalink / raw)
To: ALT Devel discussion list
> Я вижу:
$ git-branch
* master
$ git-show-ref
8e3b606462bf08c90af899346835400af7161ab4 refs/heads/master
8e3b606462bf08c90af899346835400af7161ab4 refs/remotes/git-svn
> Т.е. нет и намека на бранч libsieve_2_2_branch :(
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 6:44 ` [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
2007-04-10 6:47 ` Eugene Prokopiev
@ 2007-04-10 7:01 ` Vladimir V. Kamarzin
2007-04-10 7:10 ` Eugene Prokopiev
2007-04-10 9:16 ` Alexey Tourbin
2 siblings, 1 reply; 32+ messages in thread
From: Vladimir V. Kamarzin @ 2007-04-10 7:01 UTC (permalink / raw)
To: ALT Devel discussion list
>>>>> On 10 Apr 2007 at 12:44 "EP" == Eugene Prokopiev writes:
EP> Как пользоваться git-svnimport я вообще не понял. Может кто-нибудь
EP> показать, с какими параметрами его вызвать, чтобы получить результат,
EP> хотя бы аналогичный git-svn?
Я предпочитаю пока что использовать именно git-svnimport, потому как он
создаёт структуру в git, аналогичную svn. Т.е. бранчи, имеющиеся в svn,
появляются и в git, таги тоже.
На примере lighttpd:
vvk@vvk ~/devel/lighttpd % git branch
lighttpd-1.3.x
lighttpd-1.4.11-ssl-fixes
lighttpd-1.4.x
lighttpd-merge-1.4.x
* master
trunk
vvk@vvk ~/devel/lighttpd %
vvk@vvk ~/devel/lighttpd % git-svnimport -v -o trunk svn://svn.lighttpd.net/lighttpd/
Последняя команда применяется периодически для импорта.
--
vvk
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 7:01 ` Vladimir V. Kamarzin
@ 2007-04-10 7:10 ` Eugene Prokopiev
2007-04-10 8:02 ` Vladimir V. Kamarzin
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 7:10 UTC (permalink / raw)
To: ALT Devel discussion list
Vladimir V. Kamarzin пишет:
>>>>>>On 10 Apr 2007 at 12:44 "EP" == Eugene Prokopiev writes:
>
>
> EP> Как пользоваться git-svnimport я вообще не понял. Может кто-нибудь
> EP> показать, с какими параметрами его вызвать, чтобы получить результат,
> EP> хотя бы аналогичный git-svn?
>
> Я предпочитаю пока что использовать именно git-svnimport, потому как он
> создаёт структуру в git, аналогичную svn. Т.е. бранчи, имеющиеся в svn,
> появляются и в git, таги тоже.
>
> На примере lighttpd:
>
> vvk@vvk ~/devel/lighttpd % git branch
> lighttpd-1.3.x
> lighttpd-1.4.11-ssl-fixes
> lighttpd-1.4.x
> lighttpd-merge-1.4.x
> * master
> trunk
> vvk@vvk ~/devel/lighttpd %
> vvk@vvk ~/devel/lighttpd % git-svnimport -v -o trunk svn://svn.lighttpd.net/lighttpd/
>
> Последняя команда применяется периодически для импорта.
>
$ git-init-db
Initialized empty Git repository in .git/
$ git-svnimport -v -o trunk
https://libsieve.svn.sourceforge.net/svnroot/libsieve
Branch 'trunk' does not exist.
Either use the correct '-o branch' option,
or import to a new repository.
$ gear-srpmimport --branch=master ~/libsieve-2.2.4-alt1.src.rpm
...
$ git-svnimport -v -o master
https://libsieve.svn.sourceforge.net/svnroot/libsieve
'/home/john/git/libsieve/.git/svn2git' does not exist.
You need that file for incremental imports.
Покажите .git/svn2git ;)
А один бранч вытащить в принципе нельзя?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 5:42 ` Eugene Prokopiev
@ 2007-04-10 7:35 ` Eugene Prokopiev
0 siblings, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 7:35 UTC (permalink / raw)
To: ALT Devel discussion list
> 2) Каталог с исходниками очищаем и делаем в него git-pull из требуемого
> апстримного бранча (или git-svnimport/git-cvsimport) - мне все-таки
> удобнее держать исходники отдельно. Когда основным поддерживаемым
> апстримным бранчем станет другой, удаляем все из каталога и делаем в
> него git-pull из этого нового бранча.
гладко было на бумаге ...
$ git-init-db
$ gear-srpmimport --branch=master ~/RPM/SRPMS/dbmail-2.2.4-alt1.src.rpm
$ cd dbmail/
$ rm -rf *
$ git-pull http://nfg3.nfgs.net/git/dbmail.git dbmail_2_2:
got 149777bf14442d761d3f0a5c443d1b5c27016305
100% (533/533) done
Auto-merged dbmail.conf
CONFLICT (add/add): Merge conflict in dbmail.conf
Automatic merge failed; fix conflicts and then commit the result.
У меня есть свой dbmail.conf, который идет в пакет, а есть такой же файл
в исходниках, который я не опакечиваю - собственно, это только одна из
причин держать исходники апстрима в отдельном каталоге.
Интересно, что git-pull выгрузил все, что ему полагается не в текущий
каталог, а в каталог, в котором есть .git, т.е. уровнем выше.
До того я использовал git-rm -r -f dbmail/* вместо cd dbmail/; rm -rf *,
однако попутно был удален сам каталог dbmail. Я создал его заново, но
как добавить с помощью git-add, не понял: git-add утверждает, что он
умеет добавлять только файлы и симлинки. Вызов git-pull после cd в этот
каталог приводит к результатам, показанным выше.
Т.е. или все в одном бранче и в одном каталоге, или в разных бранчах
(+небходимость merge)?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 7:10 ` Eugene Prokopiev
@ 2007-04-10 8:02 ` Vladimir V. Kamarzin
2007-04-10 9:03 ` Eugene Prokopiev
2007-04-11 6:48 ` Eugene Prokopiev
0 siblings, 2 replies; 32+ messages in thread
From: Vladimir V. Kamarzin @ 2007-04-10 8:02 UTC (permalink / raw)
To: ALT Devel discussion list
>>>>> On 10 Apr 2007 at 13:10 "EP" == Eugene Prokopiev writes:
EP> $ git-init-db
EP> Initialized empty Git repository in .git/
Это не нужно
EP> $ git-svnimport -v -o trunk
EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve
EP> Branch 'trunk' does not exist.
EP> Either use the correct '-o branch' option,
EP> or import to a new repository.
А уж если сделали git init, то бранч для импорта тоже нужно сделать.
EP> Покажите .git/svn2git ;)
Нету такого ;)
EP> А один бранч вытащить в принципе нельзя?
Поробуйте так:
git init
git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
git-svn fetch
--
vvk
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 8:02 ` Vladimir V. Kamarzin
@ 2007-04-10 9:03 ` Eugene Prokopiev
2007-04-11 6:48 ` Eugene Prokopiev
1 sibling, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 9:03 UTC (permalink / raw)
To: ALT Devel discussion list
Vladimir V. Kamarzin пишет:
>>>>>>On 10 Apr 2007 at 13:10 "EP" == Eugene Prokopiev writes:
>
>
> EP> $ git-init-db
> EP> Initialized empty Git repository in .git/
>
> Это не нужно
>
> EP> $ git-svnimport -v -o trunk
> EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve
> EP> Branch 'trunk' does not exist.
> EP> Either use the correct '-o branch' option,
> EP> or import to a new repository.
>
> А уж если сделали git init, то бранч для импорта тоже нужно сделать.
>
> EP> Покажите .git/svn2git ;)
>
> Нету такого ;)
>
> EP> А один бранч вытащить в принципе нельзя?
>
> Поробуйте так:
>
> git init
> git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
> git-svn fetch
Спасибо. Похоже, что это как раз то, что нужно.
Тут случай как раз удачный: исходники уже вынесены в отдельный каталог.
В менее удачных случаях
(http://svn.ic-s.nl/websvn/listing.php?repname=DBMail&path=%2Fbranches%2Fdbmail_2_2_branch%2F&rev=0&sc=0)
можно извлекать исходники в отдельный каталог?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 6:44 ` [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
2007-04-10 6:47 ` Eugene Prokopiev
2007-04-10 7:01 ` Vladimir V. Kamarzin
@ 2007-04-10 9:16 ` Alexey Tourbin
2007-04-10 9:35 ` Eugene Prokopiev
2007-04-10 10:48 ` Eugene Prokopiev
2 siblings, 2 replies; 32+ messages in thread
From: Alexey Tourbin @ 2007-04-10 9:16 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 845 bytes --]
On Tue, Apr 10, 2007 at 10:44:19AM +0400, Eugene Prokopiev wrote:
> >> * для svn: ?
> >
> >
> > git-svnimport или git-svn
>
> Единственное, что у меня заработало:
>
> git-init-db
> git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve
> git-svn-fetch
>
> Но таким образом я получил весь репозитарий полностью, а мне достаточно
> бранча libsieve_2_2_branch -
> http://libsieve.svn.sourceforge.net/viewvc/libsieve/branches/libsieve_2_2_branch/
Лучше вытаскивать полностью. Он же типа умеет делать мерж, когда одна
один svn'овский бранчи вливается в другой. Или типа не умеет. Не знаю. :)
> Как вытащить только его? Другой вопрос: ладно, я вытащил все, как теперь
> получить исходники, соответствующие этому бранчу? Я вижу:
>
> Т.е. нет и намека на бранч libsieve_2_2_branch :(
git-branch -r
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 9:16 ` Alexey Tourbin
@ 2007-04-10 9:35 ` Eugene Prokopiev
2007-04-10 9:46 ` Alexey Tourbin
2007-04-10 10:48 ` Eugene Prokopiev
1 sibling, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 9:35 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey Tourbin пишет:
> On Tue, Apr 10, 2007 at 10:44:19AM +0400, Eugene Prokopiev wrote:
>
>>>> * для svn: ?
>>>
>>>
>>>git-svnimport или git-svn
>>
>>Единственное, что у меня заработало:
>>
>>git-init-db
>>git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve
>>git-svn-fetch
>>
>>Но таким образом я получил весь репозитарий полностью, а мне достаточно
>>бранча libsieve_2_2_branch -
>>http://libsieve.svn.sourceforge.net/viewvc/libsieve/branches/libsieve_2_2_branch/
>
>
> Лучше вытаскивать полностью. Он же типа умеет делать мерж, когда одна
> один svn'овский бранчи вливается в другой. Или типа не умеет. Не знаю. :)
а зачем мне вытаскивать лишнее?
бранчи ведь независимы, и если в апстриме что-то с чем-то смержат,
нужный мне бранч не сломается ;)
>>Как вытащить только его? Другой вопрос: ладно, я вытащил все, как теперь
>>получить исходники, соответствующие этому бранчу? Я вижу:
>>
>>Т.е. нет и намека на бранч libsieve_2_2_branch :(
>
>
> git-branch -r
попробую
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 9:35 ` Eugene Prokopiev
@ 2007-04-10 9:46 ` Alexey Tourbin
2007-04-10 10:03 ` Eugene Prokopiev
0 siblings, 1 reply; 32+ messages in thread
From: Alexey Tourbin @ 2007-04-10 9:46 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 567 bytes --]
On Tue, Apr 10, 2007 at 01:35:41PM +0400, Eugene Prokopiev wrote:
> > Лучше вытаскивать полностью. Он же типа умеет делать мерж, когда одна
> > один svn'овский бранчи вливается в другой. Или типа не умеет. Не знаю. :)
>
> а зачем мне вытаскивать лишнее?
>
> бранчи ведь независимы, и если в апстриме что-то с чем-то смержат,
> нужный мне бранч не сломается ;)
Вы хотите не мало. Если что-то с чем-то смержили, то git-svn
предполагает, что нужный коммит или релиз уже есть. В общем,
говорю же, не уверен, как это там всё на самом деле работает...
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 9:46 ` Alexey Tourbin
@ 2007-04-10 10:03 ` Eugene Prokopiev
0 siblings, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 10:03 UTC (permalink / raw)
To: ALT Devel discussion list
Alexey Tourbin пишет:
> On Tue, Apr 10, 2007 at 01:35:41PM +0400, Eugene Prokopiev wrote:
>
>>>Лучше вытаскивать полностью. Он же типа умеет делать мерж, когда одна
>>>один svn'овский бранчи вливается в другой. Или типа не умеет. Не знаю. :)
>>
>>а зачем мне вытаскивать лишнее?
>>
>>бранчи ведь независимы, и если в апстриме что-то с чем-то смержат,
>>нужный мне бранч не сломается ;)
>
>
> Вы хотите не мало. Если что-то с чем-то смержили, то git-svn
> предполагает, что нужный коммит или релиз уже есть. В общем,
> говорю же, не уверен, как это там всё на самом деле работает...
хм... а есть тут такие, которые уверены?
другой вопрос: а если я вытягиваю требуемый мне бранч из git с помощью,
например, git-pull, все сказанное остается в силе, т.е. может и сломаться?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 9:16 ` Alexey Tourbin
2007-04-10 9:35 ` Eugene Prokopiev
@ 2007-04-10 10:48 ` Eugene Prokopiev
1 sibling, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 10:48 UTC (permalink / raw)
To: ALT Devel discussion list
> git-branch -r
$ git-branch -r
git-svn
libsieve_2_2_branch нет :(
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-09 19:52 ` Alexey Tourbin
2007-04-09 20:01 ` Dmitry V. Levin
@ 2007-04-10 11:56 ` Aleksey Avdeev
2007-04-10 12:26 ` Eugene Prokopiev
1 sibling, 1 reply; 32+ messages in thread
From: Aleksey Avdeev @ 2007-04-10 11:56 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
Alexey Tourbin пишет:
> On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
>> http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
>> http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
>
> В общем, я бы не стал делать, как там написано. По-моему, Вам и другим
> maintainer'ам будет проще всего работать с таким git репозитарием, в
> котором содержимое рабочего бранча (master) максимально приближено к
> результату rpm -bp. Тогда можно сразу править что нужно и посто
> коммитить. Это не исключает .gear-tags.
-1
Мне удобнее держать полученное из старонних источников отдельно, с
мимниумом изменений: продукты полученные от поставщика могут требовать
предварительной обработки (мытья, например) и до её проведения --
незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
-- смешаю как сочту нужным ;-)).
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 11:56 ` Aleksey Avdeev
@ 2007-04-10 12:26 ` Eugene Prokopiev
2007-04-10 13:38 ` Aleksey Avdeev
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 12:26 UTC (permalink / raw)
To: ALT Devel discussion list
Aleksey Avdeev пишет:
> Alexey Tourbin пишет:
>
>>On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
>>
>>>http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
>>>http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
>>
>>В общем, я бы не стал делать, как там написано. По-моему, Вам и другим
>>maintainer'ам будет проще всего работать с таким git репозитарием, в
>>котором содержимое рабочего бранча (master) максимально приближено к
>>результату rpm -bp. Тогда можно сразу править что нужно и посто
>>коммитить. Это не исключает .gear-tags.
>
>
> -1
>
> Мне удобнее держать полученное из старонних источников отдельно, с
> мимниумом изменений: продукты полученные от поставщика могут требовать
> предварительной обработки (мытья, например) и до её проведения --
> незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
> -- смешаю как сочту нужным ;-)).
Это верно, однако разделение можно понимать по разному ;) Разные бранчи
требуют регулярного слияния, если же просто вынести исходники апстрима в
отдельный каталог, то получим и разделение (пока для меня в принципе
достаточное), и уменьшение количества операций.
Вот правда вынести исходники апстрима в отдельный каталогу меня не
выходит :(
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 12:26 ` Eugene Prokopiev
@ 2007-04-10 13:38 ` Aleksey Avdeev
2007-04-10 18:33 ` Eugene Prokopiev
0 siblings, 1 reply; 32+ messages in thread
From: Aleksey Avdeev @ 2007-04-10 13:38 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 1653 bytes --]
Eugene Prokopiev пишет:
> Aleksey Avdeev пишет:
>> Alexey Tourbin пишет:
>>
>>> On Mon, Apr 09, 2007 at 10:06:52PM +0400, Eugene Prokopiev wrote:
>>>
>>>> http://wiki.sisyphus.ru/devel/gear/ImportUpstreamVBranch
>>>> http://wiki.sisyphus.ru/devel/gear/ImportSeparateUpstream
>>> В общем, я бы не стал делать, как там написано. По-моему, Вам и другим
>>> maintainer'ам будет проще всего работать с таким git репозитарием, в
>>> котором содержимое рабочего бранча (master) максимально приближено к
>>> результату rpm -bp. Тогда можно сразу править что нужно и посто
>>> коммитить. Это не исключает .gear-tags.
>>
>> -1
>>
>> Мне удобнее держать полученное из старонних источников отдельно, с
>> мимниумом изменений: продукты полученные от поставщика могут требовать
>> предварительной обработки (мытья, например) и до её проведения --
>> незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>> -- смешаю как сочту нужным ;-)).
>
> Это верно, однако разделение можно понимать по разному ;) Разные бранчи
> требуют регулярного слияния, если же просто вынести исходники апстрима в
> отдельный каталог, то получим и разделение (пока для меня в принципе
> достаточное), и уменьшение количества операций.
Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
сложнее...
>
> Вот правда вынести исходники апстрима в отдельный каталогу меня не
> выходит :(
Я незнаю приемлимово, без большого дифа, решения. (Понятно, что в
данном случаи, этот большой diff несоздаёт кучи новых объектов
хранения... Но что-то меня сдесь настораживает.)
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 13:38 ` Aleksey Avdeev
@ 2007-04-10 18:33 ` Eugene Prokopiev
2007-04-11 7:46 ` Aleksey Avdeev
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-10 18:33 UTC (permalink / raw)
To: ALT Devel discussion list
>>> Мне удобнее держать полученное из старонних источников отдельно, с
>>>мимниумом изменений: продукты полученные от поставщика могут требовать
>>>предварительной обработки (мытья, например) и до её проведения --
>>>незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>>>-- смешаю как сочту нужным ;-)).
>>
>>Это верно, однако разделение можно понимать по разному ;) Разные бранчи
>>требуют регулярного слияния, если же просто вынести исходники апстрима в
>>отдельный каталог, то получим и разделение (пока для меня в принципе
>>достаточное), и уменьшение количества операций.
>
>
> Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
> сложнее...
Кажется, выше я писал, каким образом я выцепляю изменения:
> Патчи, если таковые имеются, можно держать в отдельных файлах, как и
> раньше. Если эти патчи мои, то делаю я их старым проверенным способом:
> собираю апстримные исходники и тестирую разультат где-то отдельно
> (иногда в системе, в которой не жалко сделать make install ;) ),
> изменяемые файлы перед изменением обзываю .orig, после изменений делаю
> gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный
> способ с отдельным бранчем под каждый патч?
Если вы делаете иначе, пожалуйста, расскажите как (по возможности
подробно, с командами). Особенно интересуют преимущества по сравнению с
приведенным выше способом.
>>Вот правда вынести исходники апстрима в отдельный каталогу меня не
>>выходит :(
>
>
> Я незнаю приемлимово, без большого дифа, решения. (Понятно, что в
> данном случаи, этот большой diff несоздаёт кучи новых объектов
> хранения... Но что-то меня сдесь настораживает.)
Что-то я потерял нить ... О каком дифе идет речь и как это связано с
хранением исходников в отдельном каталоге вместо отдельного бранча?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 8:02 ` Vladimir V. Kamarzin
2007-04-10 9:03 ` Eugene Prokopiev
@ 2007-04-11 6:48 ` Eugene Prokopiev
2007-04-11 10:59 ` Eugene Prokopiev
1 sibling, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-11 6:48 UTC (permalink / raw)
To: ALT Devel discussion list
Vladimir V. Kamarzin пишет:
>>>>>>On 10 Apr 2007 at 13:10 "EP" == Eugene Prokopiev writes:
>
>
> EP> $ git-init-db
> EP> Initialized empty Git repository in .git/
>
> Это не нужно
>
> EP> $ git-svnimport -v -o trunk
> EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve
> EP> Branch 'trunk' does not exist.
> EP> Either use the correct '-o branch' option,
> EP> or import to a new repository.
>
> А уж если сделали git init, то бранч для импорта тоже нужно сделать.
>
> EP> Покажите .git/svn2git ;)
>
> Нету такого ;)
>
> EP> А один бранч вытащить в принципе нельзя?
>
> Поробуйте так:
>
> git init
> git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
> git-svn fetch
Таким образом я вытяну svn-бранч libsieve_2_2_branch в текущий локальный
бранч. Можно ли указать, в какой бранч вытягивать? Если указать -b
libsieve_2_2, svn-бранч libsieve_2_2_branch все равно вытягивается в
текущий локальный бранч со следующими словами:
fatal: ambiguous argument 'libsieve_2_2': unknown revision or path not
in the working tree.
Очевидное решение - создать локальный бранч libsieve_2_2:
$ git-branch libsieve_2_2
fatal: Not a valid branch point: 'master'.
Бранча master у меня действительно нет (и он мне не нужен), есть только
бранч srpms, созданный gear-srpmsimport. Как быть?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-10 18:33 ` Eugene Prokopiev
@ 2007-04-11 7:46 ` Aleksey Avdeev
2007-04-11 9:21 ` Eugene Prokopiev
0 siblings, 1 reply; 32+ messages in thread
From: Aleksey Avdeev @ 2007-04-11 7:46 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 2881 bytes --]
Eugene Prokopiev пишет:
>>>> Мне удобнее держать полученное из старонних источников отдельно, с
>>>> мимниумом изменений: продукты полученные от поставщика могут требовать
>>>> предварительной обработки (мытья, например) и до её проведения --
>>>> незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>>>> -- смешаю как сочту нужным ;-)).
>>> Это верно, однако разделение можно понимать по разному ;) Разные бранчи
>>> требуют регулярного слияния, если же просто вынести исходники апстрима в
>>> отдельный каталог, то получим и разделение (пока для меня в принципе
>>> достаточное), и уменьшение количества операций.
>>
>> Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
>> сложнее...
>
> Кажется, выше я писал, каким образом я выцепляю изменения:
>
>> Патчи, если таковые имеются, можно держать в отдельных файлах, как и
>> раньше. Если эти патчи мои, то делаю я их старым проверенным способом:
>> собираю апстримные исходники и тестирую разультат где-то отдельно
>> (иногда в системе, в которой не жалко сделать make install ;) ),
>> изменяемые файлы перед изменением обзываю .orig, после изменений делаю
>> gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный
>> способ с отдельным бранчем под каждый патч?
>
> Если вы делаете иначе, пожалуйста, расскажите как (по возможности
> подробно, с командами). Особенно интересуют преимущества по сравнению с
> приведенным выше способом.
Патчи, к которым я приложил руку после перехода на git, в виде файлов
я не храню (только унаследываемые). Для из поучения -- использую diff
между тегами, благо gear это позволяет. (Пока непозволял -- использовал
самописанный велосипед для автоматизированного создания патчей на базе
заданных коммитов.)
Поскольку, для работы с данной схемой всё равно нужны фиктивные мержи
и gear-upate-tag, у меня нет усложнения техпроцесса при хранении
исходников в отдельном банче. Это, в свою очередь, позволяет
небеспокоется о имени каталога, куда апстрим пакует исходники (если они
распространяются в тарбл, то версия часто присутствует в имени
каталога): достаточно соглашения, что всё находящееся в корне бранча с
сорцами -- сорцы, полученные из внешнего источника (возможно --
правленные, но в данном контексте это не важно).
>
>>> Вот правда вынести исходники апстрима в отдельный каталогу меня не
>>> выходит :(
>>
>> Я незнаю приемлимово, без большого дифа, решения. (Понятно, что в
>> данном случаи, этот большой diff несоздаёт кучи новых объектов
>> хранения... Но что-то меня сдесь настораживает.)
>
> Что-то я потерял нить ... О каком дифе идет речь и как это связано с
> хранением исходников в отдельном каталоге вместо отдельного бранча?
О diff между соседними коммитами, при перемеи сорцов в другой каталог.
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-11 7:46 ` Aleksey Avdeev
@ 2007-04-11 9:21 ` Eugene Prokopiev
2007-04-11 9:45 ` Aleksey Avdeev
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-11 9:21 UTC (permalink / raw)
To: ALT Devel discussion list
Aleksey Avdeev пишет:
> Eugene Prokopiev пишет:
>
>>>>> Мне удобнее держать полученное из старонних источников отдельно, с
>>>>>мимниумом изменений: продукты полученные от поставщика могут требовать
>>>>>предварительной обработки (мытья, например) и до её проведения --
>>>>>незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>>>>>-- смешаю как сочту нужным ;-)).
>>>>
>>>>Это верно, однако разделение можно понимать по разному ;) Разные бранчи
>>>>требуют регулярного слияния, если же просто вынести исходники апстрима в
>>>>отдельный каталог, то получим и разделение (пока для меня в принципе
>>>>достаточное), и уменьшение количества операций.
>>>
>>> Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
>>>сложнее...
>>
>>Кажется, выше я писал, каким образом я выцепляю изменения:
>>
>>
>>>Патчи, если таковые имеются, можно держать в отдельных файлах, как и
>>>раньше. Если эти патчи мои, то делаю я их старым проверенным способом:
>>>собираю апстримные исходники и тестирую разультат где-то отдельно
>>>(иногда в системе, в которой не жалко сделать make install ;) ),
>>>изменяемые файлы перед изменением обзываю .orig, после изменений делаю
>>>gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный
>>>способ с отдельным бранчем под каждый патч?
>>
>>Если вы делаете иначе, пожалуйста, расскажите как (по возможности
>>подробно, с командами). Особенно интересуют преимущества по сравнению с
>>приведенным выше способом.
>
>
> Патчи, к которым я приложил руку после перехода на git, в виде файлов
> я не храню (только унаследываемые). Для из поучения -- использую diff
> между тегами, благо gear это позволяет. (Пока непозволял -- использовал
> самописанный велосипед для автоматизированного создания патчей на базе
> заданных коммитов.)
>
> Поскольку, для работы с данной схемой всё равно нужны фиктивные мержи
> и gear-upate-tag, у меня нет усложнения техпроцесса при хранении
> исходников в отдельном банче. Это, в свою очередь, позволяет
> небеспокоется о имени каталога, куда апстрим пакует исходники (если они
> распространяются в тарбл, то версия часто присутствует в имени
> каталога): достаточно соглашения, что всё находящееся в корне бранча с
> сорцами -- сорцы, полученные из внешнего источника (возможно --
> правленные, но в данном контексте это не важно).
Под каждый свой патч вы выделяете отдельный бранч? Из сказанного вами
вроде этого не следует, хотя я с трудом представляю себе обратное. Можно
все-таки пример?
Вот допустим, мне нужно изменить что либо в Makefile.in, я создаю бранч
(git-branch dbmail_2_2_makefile_patch dbmail_2_2), что я получаю? Копию
предыдущего без тагов? А идентификаторы коммитов будут такие же?
Теперь мне нужно сделать таг, слить его с бранчем srpms, чтобы сделать
положить в пакет исходники нового бранча, исправить .gear-rules и
собрать пакет.
Потом установить его в hasher, чтобы в рабочей системе не устраивать
свинство с *-devel и промежуточными результатами сборки - опа, а какие
тогда преимущества этого подхода, если все сводится к старому способу с
.orig?
Значит собирать надо в бранче (ладно, иногда на свинство можно
согласиться ;) ), хорошо, собираю, какой командой теперь разницу
выгрузить в файл, перейдя в бранч srpms?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-11 9:21 ` Eugene Prokopiev
@ 2007-04-11 9:45 ` Aleksey Avdeev
0 siblings, 0 replies; 32+ messages in thread
From: Aleksey Avdeev @ 2007-04-11 9:45 UTC (permalink / raw)
To: ALT Devel discussion list
[-- Attachment #1: Type: text/plain, Size: 4157 bytes --]
Eugene Prokopiev пишет:
> Aleksey Avdeev пишет:
>> Eugene Prokopiev пишет:
>>
>>>>>> Мне удобнее держать полученное из старонних источников отдельно, с
>>>>>> мимниумом изменений: продукты полученные от поставщика могут требовать
>>>>>> предварительной обработки (мытья, например) и до её проведения --
>>>>>> незачем их мешать их с остальными инградиентами (на своей кухне я хозяин
>>>>>> -- смешаю как сочту нужным ;-)).
>>>>> Это верно, однако разделение можно понимать по разному ;) Разные бранчи
>>>>> требуют регулярного слияния, если же просто вынести исходники апстрима в
>>>>> отдельный каталог, то получим и разделение (пока для меня в принципе
>>>>> достаточное), и уменьшение количества операций.
>>>> Деление -- получаем. Но выцепить изменения сделанные в исходниках уже
>>>> сложнее...
>>> Кажется, выше я писал, каким образом я выцепляю изменения:
>>>
>>>
>>>> Патчи, если таковые имеются, можно держать в отдельных файлах, как и
>>>> раньше. Если эти патчи мои, то делаю я их старым проверенным способом:
>>>> собираю апстримные исходники и тестирую разультат где-то отдельно
>>>> (иногда в системе, в которой не жалко сделать make install ;) ),
>>>> изменяемые файлы перед изменением обзываю .orig, после изменений делаю
>>>> gendiff. Даст ли мне ощутимые преимущества какой-нибудь более правильный
>>>> способ с отдельным бранчем под каждый патч?
>>> Если вы делаете иначе, пожалуйста, расскажите как (по возможности
>>> подробно, с командами). Особенно интересуют преимущества по сравнению с
>>> приведенным выше способом.
>>
>> Патчи, к которым я приложил руку после перехода на git, в виде файлов
>> я не храню (только унаследываемые). Для из поучения -- использую diff
>> между тегами, благо gear это позволяет. (Пока непозволял -- использовал
>> самописанный велосипед для автоматизированного создания патчей на базе
>> заданных коммитов.)
>>
>> Поскольку, для работы с данной схемой всё равно нужны фиктивные мержи
>> и gear-upate-tag, у меня нет усложнения техпроцесса при хранении
>> исходников в отдельном банче. Это, в свою очередь, позволяет
>> небеспокоется о имени каталога, куда апстрим пакует исходники (если они
>> распространяются в тарбл, то версия часто присутствует в имени
>> каталога): достаточно соглашения, что всё находящееся в корне бранча с
>> сорцами -- сорцы, полученные из внешнего источника (возможно --
>> правленные, но в данном контексте это не важно).
>
> Под каждый свой патч вы выделяете отдельный бранч? Из сказанного вами
> вроде этого не следует, хотя я с трудом представляю себе обратное. Можно
> все-таки пример?
Да, под каждый патч -- отдельный бранч. Иногда -- несколько патчей в
одном бранче (это предусматривет ветвление в будующием).
Пример --
<http://git.altlinux.org/people/solo/packages/?p=apache2.git;a=summary>.
(Внимание: репозитарий поряко 100 Мб.)
>
> Вот допустим, мне нужно изменить что либо в Makefile.in, я создаю бранч
> (git-branch dbmail_2_2_makefile_patch dbmail_2_2), что я получаю? Копию
> предыдущего без тагов? А идентификаторы коммитов будут такие же?
В момент созия бранча -- теже. Потом -- теже + новые.
>
> Теперь мне нужно сделать таг, слить его с бранчем srpms, чтобы сделать
> положить в пакет исходники нового бранча, исправить .gear-rules и
> собрать пакет.
С помощью gear. Можно это делать сразу в hashr (см. ниже).
>
> Потом установить его в hasher, чтобы в рабочей системе не устраивать
> свинство с *-devel и промежуточными результатами сборки - опа, а какие
> тогда преимущества этого подхода, если все сводится к старому способу с
> .orig?
С борку в hasher выполняю спомощью gear:
$ gear --hasher -- hsh ...
В сложных случаях, когда нужен "сырой" и/или промежуточные результаты
сборки .src.rpm, действую через:
$ gear --rpmbuild -- rpmbuild --nodeps -b*
>
> Значит собирать надо в бранче (ладно, иногда на свинство можно
> согласиться ;) ), хорошо, собираю, какой командой теперь разницу
> выгрузить в файл, перейдя в бранч srpms?
git-diff, если правельно понял вопрос.
--
С уважением. Алексей.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 481 bytes --]
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-11 6:48 ` Eugene Prokopiev
@ 2007-04-11 10:59 ` Eugene Prokopiev
2007-04-12 10:23 ` Vladimir V. Kamarzin
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-11 10:59 UTC (permalink / raw)
To: ALT Devel discussion list
Eugene Prokopiev пишет:
> Vladimir V. Kamarzin пишет:
>
>>>>>>>On 10 Apr 2007 at 13:10 "EP" == Eugene Prokopiev writes:
>>
>>
>> EP> $ git-init-db
>> EP> Initialized empty Git repository in .git/
>>
>>Это не нужно
>>
>> EP> $ git-svnimport -v -o trunk
>> EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve
>> EP> Branch 'trunk' does not exist.
>> EP> Either use the correct '-o branch' option,
>> EP> or import to a new repository.
>>
>> А уж если сделали git init, то бранч для импорта тоже нужно сделать.
>>
>> EP> Покажите .git/svn2git ;)
>>
>>Нету такого ;)
>>
>> EP> А один бранч вытащить в принципе нельзя?
>>
>>Поробуйте так:
>>
>>git init
>>git-svn init https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
>>git-svn fetch
>
>
> Таким образом я вытяну svn-бранч libsieve_2_2_branch в текущий локальный
> бранч. Можно ли указать, в какой бранч вытягивать? Если указать -b
> libsieve_2_2, svn-бранч libsieve_2_2_branch все равно вытягивается в
> текущий локальный бранч со следующими словами:
>
> fatal: ambiguous argument 'libsieve_2_2': unknown revision or path not
> in the working tree.
>
> Очевидное решение - создать локальный бранч libsieve_2_2:
>
> $ git-branch libsieve_2_2
> fatal: Not a valid branch point: 'master'.
>
> Бранча master у меня действительно нет (и он мне не нужен), есть только
> бранч srpms, созданный gear-srpmsimport. Как быть?
Сделал так:
$ git-branch
srpms
$ git-svn init
https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
$ git-svn fetch
Fetching git-svn
A libsieve2/www/example.php
...
M libsieve2/Makefile
r110 = 15ef41ffd4d2e52cee5ae30dba1de1ee47b16c84
$ git-branch
* master
srpms
$ git-checkout srpms
Switched to branch "srpms"
$ ls
libsieve libsieve.spec
$ git-checkout master
Switched to branch "master"
$ ls
libsieve2
И что все это означает?
Еще интереснее:
$ git-checkout master
Switched to branch "master"
$ head -n 1 libsieve2/NEWS
libSieve 2.2.5
$ git-checkout srpms
Switched to branch "srpms"
$ head -n 1 libsieve/NEWS
libSieve 2.2.4
Т.е. вроде в бранч master попало то, что надо, а что тогда попало в
бранч srpms?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-11 10:59 ` Eugene Prokopiev
@ 2007-04-12 10:23 ` Vladimir V. Kamarzin
2007-04-12 19:02 ` Eugene Prokopiev
0 siblings, 1 reply; 32+ messages in thread
From: Vladimir V. Kamarzin @ 2007-04-12 10:23 UTC (permalink / raw)
To: ALT Devel discussion list
>>>>> On 11 Apr 2007 at 16:59 "EP" == Eugene Prokopiev writes:
EP> Сделал так:
EP> $ git-branch
EP> srpms
EP> $ git-svn init
EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
EP> $ git-svn fetch
EP> Fetching git-svn
EP> A libsieve2/www/example.php
EP> ...
EP> M libsieve2/Makefile
EP> r110 = 15ef41ffd4d2e52cee5ae30dba1de1ee47b16c84
EP> $ git-branch
EP> * master
EP> srpms
EP> $ git-checkout srpms
EP> Switched to branch "srpms"
EP> $ ls
EP> libsieve libsieve.spec
EP> $ git-checkout master
EP> Switched to branch "master"
EP> $ ls
EP> libsieve2
EP> И что все это означает?
Не понял вопроса.
EP> Еще интереснее:
EP> $ git-checkout master
EP> Switched to branch "master"
EP> $ head -n 1 libsieve2/NEWS
EP> libSieve 2.2.5
EP> $ git-checkout srpms
EP> Switched to branch "srpms"
EP> $ head -n 1 libsieve/NEWS
EP> libSieve 2.2.4
EP> Т.е. вроде в бранч master попало то, что надо, а что тогда попало в
EP> бранч srpms?
Ничего не попало. Вы же не делали ни merge ни pull :)
--
vvk
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-12 10:23 ` Vladimir V. Kamarzin
@ 2007-04-12 19:02 ` Eugene Prokopiev
2007-04-12 19:30 ` Eugene Prokopiev
0 siblings, 1 reply; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-12 19:02 UTC (permalink / raw)
To: ALT Devel discussion list
Vladimir V. Kamarzin пишет:
>>>>>>On 11 Apr 2007 at 16:59 "EP" == Eugene Prokopiev writes:
>
>
> EP> Сделал так:
>
> EP> $ git-branch
> EP> srpms
>
> EP> $ git-svn init
> EP> https://libsieve.svn.sourceforge.net/svnroot/libsieve/branches/libsieve_2_2_branch
>
> EP> $ git-svn fetch
> EP> Fetching git-svn
> EP> A libsieve2/www/example.php
> EP> ...
> EP> M libsieve2/Makefile
> EP> r110 = 15ef41ffd4d2e52cee5ae30dba1de1ee47b16c84
> EP> $ git-branch
> EP> * master
> EP> srpms
>
> EP> $ git-checkout srpms
> EP> Switched to branch "srpms"
>
> EP> $ ls
> EP> libsieve libsieve.spec
>
> EP> $ git-checkout master
> EP> Switched to branch "master"
>
> EP> $ ls
> EP> libsieve2
>
> EP> И что все это означает?
>
> Не понял вопроса.
>
> EP> Еще интереснее:
>
> EP> $ git-checkout master
> EP> Switched to branch "master"
>
> EP> $ head -n 1 libsieve2/NEWS
> EP> libSieve 2.2.5
>
> EP> $ git-checkout srpms
> EP> Switched to branch "srpms"
>
> EP> $ head -n 1 libsieve/NEWS
> EP> libSieve 2.2.4
>
> EP> Т.е. вроде в бранч master попало то, что надо, а что тогда попало в
> EP> бранч srpms?
>
> Ничего не попало. Вы же не делали ни merge ни pull :)
Зато я делал fetch :)
Проблема вот в чем: до fetch у меня был только один бранч - srpms. После
fetch появился новый бранч master (это нормально), в нем появились новые
файлы, соответствующие последнему тарболлу апстрима (это тоже хорошо), а
в бранче srpms тоже появились файлы, предположительно соответствующие
предыдущему тарболлу апстрима (и вот это мне уже непонятно). Такие
выводы сделаны на основании записей в libsieve2/NEWS в бранче master и
libsieve/NEWS в бранче srpms. Почему это произошло?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
* Re: [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm
2007-04-12 19:02 ` Eugene Prokopiev
@ 2007-04-12 19:30 ` Eugene Prokopiev
0 siblings, 0 replies; 32+ messages in thread
From: Eugene Prokopiev @ 2007-04-12 19:30 UTC (permalink / raw)
To: ALT Devel discussion list
похоже, я сделал git-rm в бранче srpms, а потом переключился (меня
переключили ;) ) в бранч master, не сделав commit в бранче srpms
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2007-04-12 19:30 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-09 18:06 [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
2007-04-09 19:52 ` Alexey Tourbin
2007-04-09 20:01 ` Dmitry V. Levin
2007-04-09 20:37 ` Alexey Tourbin
2007-04-10 5:42 ` Eugene Prokopiev
2007-04-10 7:35 ` Eugene Prokopiev
2007-04-10 6:41 ` Alexey I. Froloff
2007-04-10 11:56 ` Aleksey Avdeev
2007-04-10 12:26 ` Eugene Prokopiev
2007-04-10 13:38 ` Aleksey Avdeev
2007-04-10 18:33 ` Eugene Prokopiev
2007-04-11 7:46 ` Aleksey Avdeev
2007-04-11 9:21 ` Eugene Prokopiev
2007-04-11 9:45 ` Aleksey Avdeev
2007-04-09 23:33 ` [devel] Subversion tags (was: Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm) Grigory Batalov
2007-04-09 23:39 ` Alexey Tourbin
2007-04-10 6:44 ` [devel] Еще одно HOWTO про сборку пакета в git.alt и интеграцию с upstream scm Eugene Prokopiev
2007-04-10 6:47 ` Eugene Prokopiev
2007-04-10 7:01 ` Vladimir V. Kamarzin
2007-04-10 7:10 ` Eugene Prokopiev
2007-04-10 8:02 ` Vladimir V. Kamarzin
2007-04-10 9:03 ` Eugene Prokopiev
2007-04-11 6:48 ` Eugene Prokopiev
2007-04-11 10:59 ` Eugene Prokopiev
2007-04-12 10:23 ` Vladimir V. Kamarzin
2007-04-12 19:02 ` Eugene Prokopiev
2007-04-12 19:30 ` Eugene Prokopiev
2007-04-10 9:16 ` Alexey Tourbin
2007-04-10 9:35 ` Eugene Prokopiev
2007-04-10 9:46 ` Alexey Tourbin
2007-04-10 10:03 ` Eugene Prokopiev
2007-04-10 10:48 ` Eugene Prokopiev
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