Есть ли объектив augeas, который может редактировать perl-хэш, как в.gitolite.rc?
Я хочу отредактировать файл конфигурации gitolite3, который написан на Perl, и выглядит так:
# comments
# comments
%RC = (
# ------------------------------------------------------------------
# comments
UMASK => 0077,
# comments
GIT_CONFIG_KEYS => '',
# comments
ROLES => {
READERS => 1,
WRITERS => 1,
},
# comments
ENABLE => [
# comments
'help',
'desc',
'info',
'perms',
'writable',
# comments
],
);
# ------------------------------------------------------------------------------
# comments
1;
# comments
Если нет augeas, мне нужно что-то, что сохранит комментарии - они очень удобны для меня и будущих администраторов.
1 ответ
Поскольку gitolite.rc является непосредственно ассоциативным массивом, вы можете написать свою утилиту на perl.
src/lib/Gitolite/Rc.pm
уже показывают, как загрузить этот файл, и он предоставляет способ запроса ключей / значений:
Usage: gitolite query-rc -a
gitolite query-rc [-n] [-q] rc-variable
-a print all variables and values (first level only)
-n do not append a newline if variable is scalar
-q exit code only (shell truth; 0 is success)
Но вы можете расширить эти функции, добавив ключ / значение и записав конфигурацию обратно.