Gear/specsubst: различия между версиями
м (minor wikification) |
м (соответственно...) |
||
Строка 18: | Строка 18: | ||
временный commit object, но и временный tag object, используя для | временный commit object, но и временный tag object, используя для | ||
определения подстановочных переменных конфигурационные значения | определения подстановочных переменных конфигурационные значения | ||
<tt>gear.specsubst.*</tt> | <tt>gear.specsubst.*</tt> (см. {{path|.git/config}} проекта); например: | ||
[gear "specsubst"] | |||
kflavour = un-def | |||
Синтаксис новой директивы и формат описания подстановочных переменных в | Синтаксис новой директивы и формат описания подстановочных переменных в | ||
тэге приведен в <tt>gear-rules(5)</tt>. | тэге приведен в <tt>gear-rules(5)</tt>. | ||
Первыми пользователями <tt>specsubst</tt> | Первыми пользователями <tt>specsubst</tt> стали шаблоны модулей ядра | ||
(см. тж. [http://www.altlinux.org/index.php?title=Git.alt/Справочник&diff=0&oldid=22016 task add kmodules]). | (см. тж. [http://www.altlinux.org/index.php?title=Git.alt/Справочник&diff=0&oldid=22016 task add kmodules]). | ||
Версия от 15:09, 10 ноября 2014
В середине декабря 2012 по мотивам идеи Саши Бокового в gear была реализована возможность управляемым и воспроизводимым образом экспортировать различные варианты исходного кода из одного и того же коммита.
Этот эффект достигается путем подстановки в спек-файле @переменных@, заданных в новой директиве specsubst:, в соответствии с определением переменных в тэге, из которого производится экспорт исходного кода.
При использовании specsubst коммит фактически превращается в шаблон, не предназначенный для непосредственной сборки, но из которого с помощью тэга можно получить реализацию шаблона, которую уже можно собирать.
Новая функциональность активируется только при условии использования specsubst, что гарантирует полную обратную совместимость.
При использовании specsubst команда gear --commit создает не только временный commit object, но и временный tag object, используя для определения подстановочных переменных конфигурационные значения gear.specsubst.* (см. .git/config проекта); например:
[gear "specsubst"] kflavour = un-def
Синтаксис новой директивы и формат описания подстановочных переменных в тэге приведен в gear-rules(5).
Первыми пользователями specsubst стали шаблоны модулей ядра (см. тж. task add kmodules).