* [devel] gear и патчи @ 2006-11-27 12:48 Grigory Batalov 2006-11-27 13:34 ` Aleksey Avdeev ` (3 more replies) 0 siblings, 4 replies; 16+ messages in thread From: Grigory Batalov @ 2006-11-27 12:48 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 884 bytes --] Здравствуйте! Возможно, здесь обсуждалось, а я пропустил: Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже <название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. Например: foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e8961 Мне кажется, удобнее исправлять исходники непосредственно в git, скажем, в бранче devel, а не обновлять от версии к версии файлы .patch. Тем более, что последние обычно называют <package>-<version>-alt-<what>.patch, то есть эти файлы будут появляться и исчезать при смене <version>. Можно было бы просто паковать в SRPM модифицированное дерево исходников, но тогда как указать на конкретное исправление пользователям других дистрибутивов? Отсылать в наш git? -- Григорий Баталов [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 12:48 [devel] gear и патчи Grigory Batalov @ 2006-11-27 13:34 ` Aleksey Avdeev 2006-11-27 14:08 ` Grigory Batalov 2006-11-27 14:01 ` Alex V. Myltsev ` (2 subsequent siblings) 3 siblings, 1 reply; 16+ messages in thread From: Aleksey Avdeev @ 2006-11-27 13:34 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1181 bytes --] Grigory Batalov пишет: > Здравствуйте! > > Возможно, здесь обсуждалось, а я пропустил: > > Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей > коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже > <название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. > > Например: > foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e8961 2 Судя по <http://lists.altlinux.org/pipermail/devel/2006-October/037580.html> -- подобная функциональность ожидается, но пока в официальном gear её нет. > > Мне кажется, удобнее исправлять исходники непосредственно в git, скажем, > в бранче devel, а не обновлять от версии к версии файлы .patch. Тем более, > что последние обычно называют <package>-<version>-alt-<what>.patch, то есть > эти файлы будут появляться и исчезать при смене <version>. Для <git.alt:/people/solo/packages/sks.git> применил велосипед, в виде скрипта git2patch.sh (<git.alt:/people/solo/packages/git2patch.git>, более детальное описание здесь: <http://lists.altlinux.org/pipermail/devel/2006-November/038836.html>). -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 550 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 13:34 ` Aleksey Avdeev @ 2006-11-27 14:08 ` Grigory Batalov 2006-11-27 14:30 ` Aleksey Avdeev 0 siblings, 1 reply; 16+ messages in thread From: Grigory Batalov @ 2006-11-27 14:08 UTC (permalink / raw) To: ALT Devel discussion list On Mon, 27 Nov 2006 16:34:44 +0300 Aleksey Avdeev <solo@solin.spb.ru> wrote: > > Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей > > коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже > > <название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. > > > > Например: > > foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e89612 > Судя по > <http://lists.altlinux.org/pipermail/devel/2006-October/037580.html> -- > подобная функциональность ожидается, но пока в официальном gear её нет. > > > > > Мне кажется, удобнее исправлять исходники непосредственно в git, скажем, > > в бранче devel, а не обновлять от версии к версии файлы .patch. Тем более, > > что последние обычно называют <package>-<version>-alt-<what>.patch, то есть > > эти файлы будут появляться и исчезать при смене <version>. > > Для <git.alt:/people/solo/packages/sks.git> Нет его там, есть cks.git =) > применил велосипед, в виде > скрипта git2patch.sh (<git.alt:/people/solo/packages/git2patch.git>, > более детальное описание здесь: > <http://lists.altlinux.org/pipermail/devel/2006-November/038836.html>). Спасибо. Я смотрел на cks, но сразу не понял, а про git2patch забыл. -- Григорий Баталов, программист ЗАО "Ланит-Терком" ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 14:08 ` Grigory Batalov @ 2006-11-27 14:30 ` Aleksey Avdeev 0 siblings, 0 replies; 16+ messages in thread From: Aleksey Avdeev @ 2006-11-27 14:30 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1101 bytes --] Grigory Batalov пишет: > On Mon, 27 Nov 2006 16:34:44 +0300 > Aleksey Avdeev <solo@solin.spb.ru> wrote: > > >>>Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей >>>коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже >>><название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. >>> >>>Например: >>>foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e89612 >> >> Судя по >><http://lists.altlinux.org/pipermail/devel/2006-October/037580.html> -- >>подобная функциональность ожидается, но пока в официальном gear её нет. >> >> >>>Мне кажется, удобнее исправлять исходники непосредственно в git, скажем, >>>в бранче devel, а не обновлять от версии к версии файлы .patch. Тем более, >>>что последние обычно называют <package>-<version>-alt-<what>.patch, то есть >>>эти файлы будут появляться и исчезать при смене <version>. >> >> Для <git.alt:/people/solo/packages/sks.git> > > > Нет его там, есть cks.git =) Так-к... Моя крыша уже едит... :-/ -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 550 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 12:48 [devel] gear и патчи Grigory Batalov 2006-11-27 13:34 ` Aleksey Avdeev @ 2006-11-27 14:01 ` Alex V. Myltsev 2006-11-27 14:45 ` Grigory Batalov 2006-11-27 14:15 ` [devel] gear и патчи Alex V. Myltsev 2006-11-27 14:31 ` Sergey Vlasov 3 siblings, 1 reply; 16+ messages in thread From: Alex V. Myltsev @ 2006-11-27 14:01 UTC (permalink / raw) To: devel On Mon, 27 Nov 2006 15:48:26 +0300 Grigory Batalov wrote: > Мне кажется, удобнее исправлять исходники непосредственно в git, > скажем, в бранче devel, а не обновлять от версии к версии > файлы .patch. Да. Но опять же получается, что на каждый патч нужно заводить отдельный бранч, а потом их все мержить (в правильном порядке). Смотрел ли кто-нибудь на Stacked git [1] и patchy git [2]? По идее, это как раз инструменты для жонглирования патчами. [1] http://www.procode.org/stgit/ [2] http://www.spearce.org/category/projects/scm/pg/ -- Best regards, Alex V. Myltsev. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 14:01 ` Alex V. Myltsev @ 2006-11-27 14:45 ` Grigory Batalov 2006-11-27 15:55 ` [devel] git " Alex V. Myltsev 0 siblings, 1 reply; 16+ messages in thread From: Grigory Batalov @ 2006-11-27 14:45 UTC (permalink / raw) To: ALT Devel discussion list On Mon, 27 Nov 2006 17:01:26 +0300 "Alex V. Myltsev" <avm@altlinux.org> wrote: > > Мне кажется, удобнее исправлять исходники непосредственно в git, > > скажем, в бранче devel, а не обновлять от версии к версии > > файлы .patch. > Да. Но опять же получается, что на каждый патч нужно заводить > отдельный бранч, а потом их все мержить (в правильном порядке). Не обязательно, мне это было бы неудобно. > Смотрел ли кто-нибудь на Stacked git [1] и patchy git [2]? > По идее, это как раз инструменты для жонглирования патчами. > > [1] http://www.procode.org/stgit/ По моему, это вполне самостоятельный проект (на Питоне). Для gear сгодилось бы решение попроще. Оказывается, vsu@ уже кое-что сделал: http://lists.altlinux.org/pipermail/devel/2006-October/037580.html > [2] http://www.spearce.org/category/projects/scm/pg/ Ужасный сайт =). Где там исходники? -- Григорий Баталов ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] git и патчи 2006-11-27 14:45 ` Grigory Batalov @ 2006-11-27 15:55 ` Alex V. Myltsev 2006-11-27 16:41 ` Sergey Vlasov 0 siblings, 1 reply; 16+ messages in thread From: Alex V. Myltsev @ 2006-11-27 15:55 UTC (permalink / raw) To: devel On Mon, 27 Nov 2006 17:45:40 +0300 Grigory Batalov wrote: > > [1] http://www.procode.org/stgit/ > По моему, это вполне самостоятельный проект (на Питоне). Для gear > сгодилось бы решение попроще. gear -- это один из инструментов, который позволяет из репозитария легко собрать пакет. А уж как я работаю с репозитарием, чем его мержу, обновляю и выкладываю на git.alt -- к gear никак не относится. Даже исправлю, пожалуй, subject треда. > Оказывается, vsu@ уже кое-что сделал: > http://lists.altlinux.org/pipermail/devel/2006-October/037580.html Получается небольшой SCM внутри gear, который зачем-то хранит свою служебную информацию не в .git, а в файлах репозитория. Это, конечно, удобнее, чем хранить патчи в файлах, но не намного. Хочется какого-то решения gitовой проблемы gitовыми средствами. Я возлагаю ещё некоторые надежды на DarcsGit: может быть, он сумеет принести в git лёгкость работы с патчами. Но у нас пока darcs без git. -- Best regards, Alex V. Myltsev. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] git и патчи 2006-11-27 15:55 ` [devel] git " Alex V. Myltsev @ 2006-11-27 16:41 ` Sergey Vlasov 2006-11-27 22:54 ` [devel] [JT] gear SCM Alex V. Myltsev 0 siblings, 1 reply; 16+ messages in thread From: Sergey Vlasov @ 2006-11-27 16:41 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 1527 bytes --] On Mon, Nov 27, 2006 at 06:55:55PM +0300, Alex V. Myltsev wrote: > > Оказывается, vsu@ уже кое-что сделал: > > http://lists.altlinux.org/pipermail/devel/2006-October/037580.html > Получается небольшой SCM внутри gear, который зачем-то хранит свою > служебную информацию не в .git, а в файлах репозитория. Это, конечно, > удобнее, чем хранить патчи в файлах, но не намного. Хочется какого-то > решения gitовой проблемы gitовыми средствами. Это не SCM, а решение другой проблемы - обеспечения идентичности результатов применения gear к указанному коммиту вне зависимости от содержимого .git/refs/ в репозитории. По этой причине нельзя просто использовать в .gear-rules имена тегов - во время выполнения gear эти теги вполне могут отсутствовать в .git/refs/tags/, или их имена могут указывать на совершенно другие объекты. Если использовать в .gear-rules только явные sha1, сохранять в .gear-tags/ ничего не нужно, однако такой способ работы неудобен. В принципе можно было бы обойтись без сохранения содержимого объектов tag в файлах, оставив только список ссылок на коммиты (и так было в первоначальной реализации). Сейчас единственная польза от этих объектов в том, что сохраняется некоторая информация об идентичности использованного коммита тому, который был сделан в upstream (в частности, тег может содержать подпись GPG). Результат работы git-archive при передаче тега совпадает с результатом, получаемым при передаче коммита (в заголовок пишется sha1 коммита, sha1 тега не сохраняется). [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] [JT] gear SCM 2006-11-27 16:41 ` Sergey Vlasov @ 2006-11-27 22:54 ` Alex V. Myltsev 2006-11-27 23:03 ` Dmitry V. Levin 0 siblings, 1 reply; 16+ messages in thread From: Alex V. Myltsev @ 2006-11-27 22:54 UTC (permalink / raw) To: devel On Mon, 27 Nov 2006 19:41:10 +0300 Sergey Vlasov wrote: > On Mon, Nov 27, 2006 at 06:55:55PM +0300, Alex V. Myltsev wrote: > > > http://lists.altlinux.org/pipermail/devel/2006-October/037580.html > > Получается небольшой SCM внутри gear > Это не SCM, а решение другой проблемы - обеспечения идентичности > результатов применения gear к указанному коммиту вне зависимости от > содержимого .git/refs/ в репозитории. Типичная задача SCM -- по некоторому магическому идентификатору ("тэг", "SHA1", "revision" etc) однозначно восстановить состояние исходников. Другой вопрос, что многие SCM решают и другие задачи. Например, git умеет построчно сравнивать два состояния (git diff), а gear нет (максимум, что можно получить имеющимися средствами -- дифф, заменяющий sha1 на sha1 -- not much help); darcs кое-как умеет объединять две ветки разработки (darcs pull), а gear нет (нет утилиты gear-merge, которая бы слила две ветки, одновременно исправляя по необходимости содержимое gear-rules). Anyway, my point is this: в gear сейчас две части -- 1) инструмент для сборки пакета из репозитория и 2) наросшая на него SCM. Эта вторая часть имеет право на существование, но я ещё попробую поискать ей замену; вполне вероятно, что patch management'ом над GIT кто-нибудь уже занимался и написал для этого что-нибудь не ALT-специфичное. Ну если нет, тогда надо gear дописывать, конечно. -- Best regards, Alex V. Myltsev. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] [JT] gear SCM 2006-11-27 22:54 ` [devel] [JT] gear SCM Alex V. Myltsev @ 2006-11-27 23:03 ` Dmitry V. Levin 0 siblings, 0 replies; 16+ messages in thread From: Dmitry V. Levin @ 2006-11-27 23:03 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 750 bytes --] On Tue, Nov 28, 2006 at 01:54:56AM +0300, Alex V. Myltsev wrote: [...] > Anyway, my point is this: в gear сейчас две части -- > 1) инструмент для сборки пакета из репозитория и > 2) наросшая на него SCM. > Эта вторая часть имеет право на существование, но я ещё попробую > поискать ей замену; вполне вероятно, что patch management'ом над GIT > кто-нибудь уже занимался и написал для этого что-нибудь не > ALT-специфичное. Это точно существует, ты же сам приводил пример двух таких "что-нибудь". > Ну если нет, тогда надо gear дописывать, конечно. Не знаю, существует ли универсальное и удобное средство. Но чем больше патчей, тем больше это похоже на ответвление, которое удобно поддерживать средствами самого GIT. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 12:48 [devel] gear и патчи Grigory Batalov 2006-11-27 13:34 ` Aleksey Avdeev 2006-11-27 14:01 ` Alex V. Myltsev @ 2006-11-27 14:15 ` Alex V. Myltsev 2006-11-27 14:31 ` Sergey Vlasov 3 siblings, 0 replies; 16+ messages in thread From: Alex V. Myltsev @ 2006-11-27 14:15 UTC (permalink / raw) To: devel On Mon, 27 Nov 2006 15:48:26 +0300 Grigory Batalov wrote: > Мне кажется, удобнее исправлять исходники непосредственно в git, > скажем, в бранче devel, а не обновлять от версии к версии > файлы .patch. Да. Но опять же получается, что на каждый патч нужно заводить отдельный бранч, перед сборкой их все мержить (в правильном порядке), а при обновлении исходника -- rebase'ить. Смотрел ли кто-нибудь на Stacked git [1] и patchy git [2]? По идее, это как раз инструменты для жонглирования патчами. [1] http://www.procode.org/stgit/ [2] http://www.spearce.org/category/projects/scm/pg/ -- Best regards, Alex V. Myltsev. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 12:48 [devel] gear и патчи Grigory Batalov ` (2 preceding siblings ...) 2006-11-27 14:15 ` [devel] gear и патчи Alex V. Myltsev @ 2006-11-27 14:31 ` Sergey Vlasov 2006-11-27 15:15 ` Aleksey Avdeev 3 siblings, 1 reply; 16+ messages in thread From: Sergey Vlasov @ 2006-11-27 14:31 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 4347 bytes --] On Mon, Nov 27, 2006 at 03:48:26PM +0300, Grigory Batalov wrote: > Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей > коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже > <название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. > > Например: > foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e8961 В последней версии gear это может быть записано в виде: diff: f9f580742b3b499e4a0fb298511f42f482a14928:. bbab731ee05b4a9211545309d9fdf2954a7e8961:. name=foo-0.1-alt-build.patch (в name=... можно использовать @name@, @version@, @release@, @old_dir@, @new_dir@). Можно также написать diff.gz или diff.bz2. Ограничение - нельзя указывать совсем произвольные sha1, это должны быть коммиты, предшествующие (непосредственно или через произвольное количество промежуточных коммитов) тому коммиту, из которого собирается пакет. Чтобы не писать sha1 в .gear-rules, можно использовать вместо них имена тегов, сохранённых с помощью gear-update-tag. Хотя этот вариант применим в основном в случае, когда генерируется один общий патч: diff: v@version@:. . (по умолчанию name=@new_dir@-@version@-@release@.patch, при указании "." вместо @new_dir@ используется @name@). Ограничения на указание коммитов через имена тегов те же самые. > Мне кажется, удобнее исправлять исходники непосредственно в git, > скажем, в бранче devel, а не обновлять от версии к версии файлы > .patch. Тогда возникает вопрос, что делать при обновлении до новой версии. Естественный для git вариант - объединить изменения с новой версией через git-pull (т.е., merge), но при этом результат в общем случае уже не представляется в виде набора патчей - можно сделать только один общий патч от оригинальной версии к модифицированной. Чтобы получить какое-то одно изменение в виде патча к текущей версии, придётся выполнять, например, git-cherry-pick в отдельной временной ветке (тащить его в историю пакета при таком способе работы бессмысленно - оно там уже есть, возможно, с исправлениями, внесёнными в ходе разрешения конфликтов при merge; единственная причина делать это - необходимость подготовки патча для передачи, например, в upstream). Кстати, можно завести не один бранч devel, а несколько, куда разносить изменения, относящиеся к разным по смыслу исправлениям. Есть другой вариант - git-rebase при переходе на новую версию из upstream; в этом случае отдельные патчи сохраняются, но теряется связь с предыдущей историей пакета, что в новой системе сборки недопустимо. Правда, можно восстановить эту связь через git-pull -s ours, но при таком способе история будет засоряться многочисленными копиями одних и тех же изменений для разных версий пакета (впрочем, в этом случае старую историю можно будет просто отсечь при просмотре изменений, поскольку она не будет содержать полезной информации - все изменения относительно upstream после git-rebase будут воспроизведены в новых коммитах, либо удалены, если они уже вошли в upstream). > Тем более, что последние обычно называют > <package>-<version>-alt-<what>.patch, то есть эти файлы будут > появляться и исчезать при смене <version>. Зачастую при смене <version> старые патчи как раз не перегенерируются, пока окончательно не перестанут прикладываться. В некоторых случаях это приводит к трудновыявляемым проблемам, когда патч вроде бы ложится на новую версию, но какие-то изменения попадают совсем не туда, куда надо. Теоретически алгоритм 3-way merge может быть более устойчив к подобным ошибкам, чем patch, поскольку имеет больше информации (информация об изменениях не ограничена размером контекста, как в случае patch). Хотя при выполнении git-rebase возможность получить такую проблему сохраняется, поскольку по умолчанию (без опции --merge) git-rebase сначала пытается приложить изменение как патч, и только в том случае, если это не удаётся, использует 3-way merge. > Можно было бы просто паковать в SRPM модифицированное дерево > исходников, но тогда как указать на конкретное исправление > пользователям других дистрибутивов? Отсылать в наш git? Отсылать было бы хорошо в gitweb, но его у нас пока нет. С другой стороны, если предполагается упразднение src.rpm, какое-то средство типа gitweb должно появиться раньше этого. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 14:31 ` Sergey Vlasov @ 2006-11-27 15:15 ` Aleksey Avdeev 2006-11-27 15:46 ` Grigory Batalov 2006-11-27 16:42 ` Sergey Vlasov 0 siblings, 2 replies; 16+ messages in thread From: Aleksey Avdeev @ 2006-11-27 15:15 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 2587 bytes --] Sergey Vlasov пишет: > On Mon, Nov 27, 2006 at 03:48:26PM +0300, Grigory Batalov wrote: > >>Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей >>коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже >><название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. >> >>Например: >>foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e8961 > > > В последней версии gear это может быть записано в виде: Имеется в виду, gear-1.1.0? > > diff: f9f580742b3b499e4a0fb298511f42f482a14928:. bbab731ee05b4a9211545309d9fdf2954a7e8961:. name=foo-0.1-alt-build.patch > > (в name=... можно использовать @name@, @version@, @release@, > @old_dir@, @new_dir@). Можно также написать diff.gz или diff.bz2. > Ограничение - нельзя указывать совсем произвольные sha1, это должны > быть коммиты, предшествующие (непосредственно или через произвольное > количество промежуточных коммитов) тому коммиту, из которого > собирается пакет. > ... > >>Мне кажется, удобнее исправлять исходники непосредственно в git, >>скажем, в бранче devel, а не обновлять от версии к версии файлы >>.patch. > > > Тогда возникает вопрос, что делать при обновлении до новой версии. > Естественный для git вариант - объединить изменения с новой версией > через git-pull (т.е., merge), но при этом результат в общем случае уже > не представляется в виде набора патчей - можно сделать только один > общий патч от оригинальной версии к модифицированной. Чтобы получить > какое-то одно изменение в виде патча к текущей версии, придётся > выполнять, например, git-cherry-pick в отдельной временной ветке > (тащить его в историю пакета при таком способе работы бессмысленно - > оно там уже есть, возможно, с исправлениями, внесёнными в ходе > разрешения конфликтов при merge; единственная причина делать это - > необходимость подготовки патча для передачи, например, в upstream). > > Кстати, можно завести не один бранч devel, а несколько, куда разносить > изменения, относящиеся к разным по смыслу исправлениям. +1, особенно -- если деление по бранчм осмысленное. > >>Можно было бы просто паковать в SRPM модифицированное дерево >>исходников, но тогда как указать на конкретное исправление >>пользователям других дистрибутивов? Отсылать в наш git? > > > Отсылать было бы хорошо в gitweb, но его у нас пока нет. С другой > стороны, если предполагается упразднение src.rpm, какое-то средство > типа gitweb должно появиться раньше этого. +1 -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 550 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 15:15 ` Aleksey Avdeev @ 2006-11-27 15:46 ` Grigory Batalov 2006-11-27 16:28 ` Aleksey Avdeev 2006-11-27 16:42 ` Sergey Vlasov 1 sibling, 1 reply; 16+ messages in thread From: Grigory Batalov @ 2006-11-27 15:46 UTC (permalink / raw) To: ALT Devel discussion list On Mon, 27 Nov 2006 18:15:24 +0300 Aleksey Avdeev <solo@solin.spb.ru> wrote: > >>Мне кажется, удобнее исправлять исходники непосредственно в git, > >>скажем, в бранче devel, а не обновлять от версии к версии файлы > >>.patch. > > > > > > Тогда возникает вопрос, что делать при обновлении до новой версии. > > Естественный для git вариант - объединить изменения с новой версией > > через git-pull (т.е., merge), но при этом результат в общем случае уже > > не представляется в виде набора патчей - можно сделать только один > > общий патч от оригинальной версии к модифицированной. Чтобы получить > > какое-то одно изменение в виде патча к текущей версии, придётся > > выполнять, например, git-cherry-pick в отдельной временной ветке > > (тащить его в историю пакета при таком способе работы бессмысленно - > > оно там уже есть, возможно, с исправлениями, внесёнными в ходе > > разрешения конфликтов при merge; единственная причина делать это - > > необходимость подготовки патча для передачи, например, в upstream). > > > > Кстати, можно завести не один бранч devel, а несколько, куда разносить > > изменения, относящиеся к разным по смыслу исправлениям. > > +1, особенно -- если деление по бранчм осмысленное. Теперь я понял, зачем у тебя в cks.git столько бранчей =) -- Григорий Баталов ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 15:46 ` Grigory Batalov @ 2006-11-27 16:28 ` Aleksey Avdeev 0 siblings, 0 replies; 16+ messages in thread From: Aleksey Avdeev @ 2006-11-27 16:28 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 2139 bytes --] Grigory Batalov пишет: > On Mon, 27 Nov 2006 18:15:24 +0300 > Aleksey Avdeev <solo@solin.spb.ru> wrote: > > >>>>Мне кажется, удобнее исправлять исходники непосредственно в git, >>>>скажем, в бранче devel, а не обновлять от версии к версии файлы >>>>.patch. >>> >>> >>>Тогда возникает вопрос, что делать при обновлении до новой версии. >>>Естественный для git вариант - объединить изменения с новой версией >>>через git-pull (т.е., merge), но при этом результат в общем случае уже >>>не представляется в виде набора патчей - можно сделать только один >>>общий патч от оригинальной версии к модифицированной. Чтобы получить >>>какое-то одно изменение в виде патча к текущей версии, придётся >>>выполнять, например, git-cherry-pick в отдельной временной ветке >>>(тащить его в историю пакета при таком способе работы бессмысленно - >>>оно там уже есть, возможно, с исправлениями, внесёнными в ходе >>>разрешения конфликтов при merge; единственная причина делать это - >>>необходимость подготовки патча для передачи, например, в upstream). >>> >>>Кстати, можно завести не один бранч devel, а несколько, куда разносить >>>изменения, относящиеся к разным по смыслу исправлениям. >> >> +1, особенно -- если деление по бранчм осмысленное. > > > Теперь я понял, зачем у тебя в cks.git столько бранчей =) Там бранчи 3x классов: 1. "Технические" -- относительно независимые части пакета, могущие иметь _отельную_ от остальных частей историю. Это сам спек, alt`специфичные конфиги, патчи и пр.... Общие свойство: апстрим ими не занимается (точнее -- ими могут заниматься несколько независимых апстримов). Формальный признак: отдельная тег %source*/%patch* в спеке. 2. Бранчи для генерации патчей (на основе тегов). 3. Технологический клей. Это такие вещи как .gear-rules и, в случаи cks.git, git2patch.sh. Не смотря на то, что все эти сущности в конечном итоге и создают пакет, но жить и развиваться они могут по разным законам. Думаю, что держать их обособленными -- нелишне, особенно если инструмент обеспечит прозрачность работы при таком делении. -- С уважением. Алексей. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 550 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [devel] gear и патчи 2006-11-27 15:15 ` Aleksey Avdeev 2006-11-27 15:46 ` Grigory Batalov @ 2006-11-27 16:42 ` Sergey Vlasov 1 sibling, 0 replies; 16+ messages in thread From: Sergey Vlasov @ 2006-11-27 16:42 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 801 bytes --] On Mon, Nov 27, 2006 at 06:15:24PM +0300, Aleksey Avdeev wrote: > Sergey Vlasov пишет: > > On Mon, Nov 27, 2006 at 03:48:26PM +0300, Grigory Batalov wrote: > > > >>Можно ли (или можно ли будет) в .gear-rules указывать в качестве патчей > >>коммиты из git? Типа <название патча>: <откуда>-<до куда> или даже > >><название патча>: <откуда1>-<до куда1>,<откуда2>-<до куда2>. > >> > >>Например: > >>foo-0.1-alt-build.patch: f9f580742b3b499e4a0fb298511f42f482a14928:bbab731ee05b4a9211545309d9fdf2954a7e8961 > > > > > > В последней версии gear это может быть записано в виде: > > Имеется в виду, gear-1.1.0? Да, в этой версии директива diff уже доступна. > > diff: f9f580742b3b499e4a0fb298511f42f482a14928:. bbab731ee05b4a9211545309d9fdf2954a7e8961:. name=foo-0.1-alt-build.patch [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2006-11-27 23:03 UTC | newest] Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-11-27 12:48 [devel] gear и патчи Grigory Batalov 2006-11-27 13:34 ` Aleksey Avdeev 2006-11-27 14:08 ` Grigory Batalov 2006-11-27 14:30 ` Aleksey Avdeev 2006-11-27 14:01 ` Alex V. Myltsev 2006-11-27 14:45 ` Grigory Batalov 2006-11-27 15:55 ` [devel] git " Alex V. Myltsev 2006-11-27 16:41 ` Sergey Vlasov 2006-11-27 22:54 ` [devel] [JT] gear SCM Alex V. Myltsev 2006-11-27 23:03 ` Dmitry V. Levin 2006-11-27 14:15 ` [devel] gear и патчи Alex V. Myltsev 2006-11-27 14:31 ` Sergey Vlasov 2006-11-27 15:15 ` Aleksey Avdeev 2006-11-27 15:46 ` Grigory Batalov 2006-11-27 16:28 ` Aleksey Avdeev 2006-11-27 16:42 ` Sergey Vlasov
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