[devel] Q: использование git-config как хранилище дефолтных опций для gear

Alexey I. Froloff =?iso-8859-1?q?raorn_=CE=C1_altlinux=2Eru?=
Пн Сен 8 18:09:12 MSD 2008


Я немного накоммитил в gear в ветке git-config.  Основная идея в
том, чтобы некоторые опции для некоторых команд держать в
.git/config.  Например шаблон тега для gear-create-tag (если из
одного репозитария собираются несколько пакетов имеет смысл
добавлять @name@ к имени тега).

Работает оно так:

gear_config_option VARIABLE_NAME OPTION_NAME "значение по умолчанию"

1. проверяется gear.SUBCOMMAND.OPTION_NAME
2. если не задано, проверяется gear.OPTION_NAME
3. если и оно не задано, переменной VARIABLE_NAME присваивается
"значение по умолчанию"

SUBCOMMAND это имя команды без префикса "gear-".

Примеры использования:

$ git config --add gear.create-tag.name '@name на -@version на -@release@'
$ git config --global --add gear.changelog.name 'My Cool Name'
$ git config --global --add gear.changelog.email 'my на cool.email'
$ git config --global --add gear.verbose -v
$ git config --global --add gear.merge.verbose ''

Чтобы начать это использовать надо пропатчить соответствующие
команды, примеры опять же у меня в git.

Существует множество способов выстрелить самому себе в ногу:

$ git config --add gear.changelog.name 'My Cool Name'
$ git config --add gear.changelog.name 'My Another Name'
$ gear-changelog --no-rules
error: More than one value for the key gear.changelog.name: My Another Name
* Mon Sep 08 2008 My Cool Name <my на cool.email> 1.5.0-alt1

Теоретически могут быть пересечения по именам опций, например
gear.changelog.rules (не реализовано) и gear.rules (реализовано).
Значения разные, но если gear.changelog.rules не определён, будет
fallback на gear.rules и в результате получится фигня.

Комментарии?

-- 
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080908/18d1702c/attachment-0002.bin>


Подробная информация о списке рассылки Devel