[devel] Maintainer's toolbox
Mikhail Yakshin
=?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eorg?=
Пт Фев 2 18:31:38 MSK 2007
Денис Смирнов пишет:
> On Fri, Feb 02, 2007 at 12:21:37PM +0300, Mikhail Yakshin wrote:
>
>>>>> Ещё пока не выработалась схема по правильной работе с патчами в git.
>>>>> Вообще-то они должны быть в отдельных бранчах. Хранить патчи в виде патчей
>>>>> при использовании git это очень нехорошо.
>> MY>> Значит, нам нужен как минимум обратный инструмент - который после
>> MY>> srpmimport конвертит "Patch: ..." + "%patch-что-то-там", заводя их в git.
>>> См. первую строчку моей цитаты. Выработается -- можно будет писать.
> MY> Ну, оно само по себе не выработается, если не будет некоего инструмента,
> MY> который бы фиксировал эту практику. То же самое, как сейчас бардак по
> MY> большому счету с выпускающими тэгами из-за отсутствия gear-release.
>
> Ты её сначала придумай и документируй. Мне -- слабо.
> Смотреть при этом рекомендую на новую систему сборки ядер, это
> _единственный_ образец в сизифе более-менее удобной работы со множеством
> патчей в отдельных бранчах.
Хорошо, посмотрю.
>>>>> Думаю скорее группа пакетов для разных workflow. Например gear-svnupdate
>>>>> не должен лежать там же где все остальное. Потому что он хочет svn,
>>>>> который не всем нужен.
>> MY>> Нам хотя бы один базовый пока набросать %)
>>> Базовый не требует ни одной утилиты из отсутствующих в пакете gear, все
>>> остальное -- вариации на тему :)
> MY> Такой "базовый" не требует ничего, кроме бинарного редактора - все файлы
> MY> можно отредактировать вручную, и TCP-пакеты тоже разослать %)
>
> Ты преувеличиваешь.
>
> Для базовой сборки пакетов достаточно gear, rpm-build и hasher. Это --
> базовые утитилы. Остальное обертки.
Боюсь, мы сейчас начнем какой-то высокофилософский спор и ни к чему не
дойдем. Я могу поймать тебя на слове, где ты ниже говоришь, цитирую:
> gear-* это не низкий уровень. Вообще-то это обертка
и тем самым противоречишь сам себе. Не суть важно, я не хочу сейчас
бросаться словами и делить все на черное и белое, на двухуровневое, на
"плохое-хорошее", "высокоуровневое-низкоуровневое" и т.п. Так мы только
поругаемся и ничего не решим.
> Ещё есть etersoft-build-utils, которая обертка, но как раз оборачивает
> наиболее частые действия. В общем-то сейчас я совершаю ой как мало
> действий которые не автоматизируются этим набором. Когда вся сборка будет
> через git, таких действий будет ровно 0.
Ну, вот для меня ее явно не хватило именно в плане взаимодействия с git
и появилось то, что появилось.
> Так что речь идет о высокоуровневых утилитках, или утилитках для
> специфических _разных_ workflow для разных _особых_ задач. Как например
> тот же svn-импорт.
Я попробую описать в ближайшее время некоторые примерные workflow, как я
их себе представляю, ладно?
>>> Разумно. Только с find'ом боюсь весело будет. Потому как в подкаталоги
>>> репозиториев смотреть не надо.
> MY> Ну, если будет тормозить - ограничим по -depth что-нибудь. Чтобы не
> MY> хватал лишнего - будем следить, чтобы в каталоге репозитария был .git.
>
> [mithraen на mw git]$ time find | wc -l
> 0.33user 1.06system 0:57.24elapsed 2%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (0major+349minor)pagefaults 0swaps
> 187150
>
> :)
>
> Это при том что оно почти все в кэше, и там RAID 0+1.
>
> На перловке я знаю как написать чтобы это работало (не обходить лишние
> каталоги), а вот как на шелле -- увы не знаю.
time find -maxdepth 3 | wc -l
?
>> MY>> 2. Именовать, надеясь на комплишен. Имена тогда значительно длиннее и
>> MY>> максимально описательны. Возникает проблема completion space. Фактически
>> MY>> обязательно использование completion. Как правило, вводится некий
>> MY>> префикс наименования семейства утилит (git-*, gear-*, hsh-*, Sisyphus-*).
>>> А вот фиг там. git-* вообще-то deprecated, надо пользоваться git *, к
>>> примеру. Вот как раз для удобного разделения completion namespace.
> MY> Ссылку на то, что он deprecated, кстати, можно? Там предлагается
> MY> какая-то аргументация?
>
> Это в этом листе озвучивал ldv@
ldv@, при всем моем уважении, насколько я знаю, не входит в число
разработчиков-идеологов git. Можно ссылку на какую-то статью, roadmap,
письмо в http://marc.theaimsgroup.com/?l=git или что-то такое, где
официально заявляется о том, что они deprecated и будут убраны в
таком-то релизе?
--
WBR, Mikhail Yakshin
Подробная информация о списке рассылки Devel