[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