[devel] Maintainer's toolbox
Mikhail Yakshin
=?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eorg?=
Пт Фев 2 12:21:37 MSK 2007
Денис Смирнов пишет:
> On Fri, Feb 02, 2007 at 01:37:26AM +0300, Mikhail Yakshin wrote:
>
>>> Ещё пока не выработалась схема по правильной работе с патчами в git.
>>> Вообще-то они должны быть в отдельных бранчах. Хранить патчи в виде патчей
>>> при использовании git это очень нехорошо.
> MY> Значит, нам нужен как минимум обратный инструмент - который после
> MY> srpmimport конвертит "Patch: ..." + "%patch-что-то-там", заводя их в git.
>
> См. первую строчку моей цитаты. Выработается -- можно будет писать.
Ну, оно само по себе не выработается, если не будет некоего инструмента,
который бы фиксировал эту практику. То же самое, как сейчас бардак по
большому счету с выпускающими тэгами из-за отсутствия gear-release.
>>> Думаю скорее группа пакетов для разных workflow. Например gear-svnupdate
>>> не должен лежать там же где все остальное. Потому что он хочет svn,
>>> который не всем нужен.
> MY> Нам хотя бы один базовый пока набросать %)
>
> Базовый не требует ни одной утилиты из отсутствующих в пакете gear, все
> остальное -- вариации на тему :)
Такой "базовый" не требует ничего, кроме бинарного редактора - все файлы
можно отредактировать вручную, и TCP-пакеты тоже разослать %)
>>> Тогда вопрос о правильной схеме размещения. У меня, например, из-за обилия
>>> пакетов структура такая:
>>> git/ALTLinux -- там хранится все пакеты что я отправил на git.alt
>>> git/ALTLinux/asterisk -- все связаное с астериском
>>> git/ALTLinux/appliance -- appliance-*
>>> и т. д. Я не представляю как это сделать пригодным для всех способом.
> MY> Ok, понял, в ближайшее время сделаю такую возможность неплоского
> MY> размещения пакетов.
> MY> determine_package() переделаю так, чтобы он, если указан полный путь
> MY> (типа "ALTLinux/asterisk/some-package") - собирал бы его, если нет - то
> MY> искал бы соответствующую директорию find'ом; если найдена одна - то
> MY> собирал бы оттуда; если их несколько - то ругался бы на то, что не может
> MY> однозначно определить, что собирать (как rpm -e, когда под критерий
> MY> подпадает >1 пакета).
>
> Разумно. Только с find'ом боюсь весело будет. Потому как в подкаталоги
> репозиториев смотреть не надо.
Ну, если будет тормозить - ограничим по -depth что-нибудь. Чтобы не
хватал лишнего - будем следить, чтобы в каталоге репозитария был .git.
> MY> 2. Именовать, надеясь на комплишен. Имена тогда значительно длиннее и
> MY> максимально описательны. Возникает проблема completion space. Фактически
> MY> обязательно использование completion. Как правило, вводится некий
> MY> префикс наименования семейства утилит (git-*, gear-*, hsh-*, Sisyphus-*).
>
> А вот фиг там. git-* вообще-то deprecated, надо пользоваться git *, к
> примеру. Вот как раз для удобного разделения completion namespace.
Ссылку на то, что он deprecated, кстати, можно? Там предлагается
какая-то аргументация?
> MY> В качестве чуть альтернативной реализации - это когда делается одна
> MY> "объединяющая" утилита (как в cvs, svn, git, gem) у которой первый
> MY> параметр - команда, которую надо выполнить. Удобно, если есть умный
> MY> комплишен а ля zsh или bash-completions, довольно неудобно, если нет.
>
> Ага.
Что-то мне подсказывает, что zsh сейчас у нас не default shell, да и
даже bash-completions стоят хорошо если у трети народа.
> MY> Плюсы - наглядно, не надо запоминать практически ничего, кроме первых
> MY> букв префикса.
> MY> Минусы - чуть медленнее набирать, большая надежда на completion, надо
> MY> продумывать так, чтобы удобно было комплитить и в completion попадали
> MY> только нужные команды.
> MY> Есть поклонники как одного стиля, так и другого. Поэтому, чтобы не
> MY> мешать друг другу и не ломать копий - все равно это абсолютно вопрос
> MY> привычки/удобства для конкретного человека - предлагаю сделать и так, и
> MY> так - ровно как с опциями (-f и --force). Сделать симлинками или
> MY> алиасами 2 варианта вызова - и длинный, и короткий.
>
> Понимаешь... в любом случае upper case utilites это зло.
Давай все-таки не смешивать. Есть 3 отдельные темы:
1) Стиль наименования утилит - нужен и "короткий", и "длинный".
Согласен? У кого-то еще какие-то мнения есть?
2) Upper case для именования утилит. Твое мнение я понял, свое -
озвучил, есть еще у кого-то какие-то мнения?
> Тем более что всем этим утилитам место в основном в gear-.* namespace.
3) Предложение убрать разделение на утилиты "низкого уровня" вроде
gear-*, hsh-* и т.п. и "высокого уровня" - те, что лежат в
etersoft-build-utils / comfort? Я тогда его совсем не понимаю...
--
WBR, Mikhail Yakshin
Подробная информация о списке рассылки Devel