Есть ли объектив 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)

Но вы можете расширить эти функции, добавив ключ / значение и записав конфигурацию обратно.

Другие вопросы по тегам