【问题标题】:Is there an augeas lens, that can edit perl hash like in .gitolite.rc?是否有一个 augeas 镜头,可以像在 .gitolite.rc 中一样编辑 perl 哈希?
【发布时间】:2014-10-22 07:50:23
【问题描述】:

我想编辑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,我需要一些东西来保存 cmets - 它们对我和未来的管理员来说非常方便。

【问题讨论】:

  • @ialarmedalien 我需要在脚本中使用它,它将用于自动 gitolite 部署

标签: perl gitolite augeas


【解决方案1】:

由于 gitolite.rc 直接是一个关联数组,您可以考虑在 perl 中编写您的实用程序。

src/lib/Gitolite/Rc.pm 已经向您展示了如何加载该文件,它provides a way to query the keys/values

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)

但是您可以通过添加键/值并将配置写回的方式来扩展这些功能。

【讨论】:

  • 如果我只知道 Perl,建议很好。但仍然 - 我怀疑如果我准备好跳过 cmets,我可能会相对轻松地执行类似 dump 的修改后的哈希回磁盘。但我更喜欢让 cmets 保持原样——它们对我和任何未来的管理员都非常方便。这就是我将注意力转向奥格亚斯的方式。
猜你喜欢
  • 2014-06-17
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2019-09-04
相关资源
最近更新 更多