【发布时间】:2009-11-12 05:18:29
【问题描述】:
git-config 使用什么系统来管理配置?它是作为独立库/工具公开可用的吗?还是和 git 紧紧交织在一起?
我想为我的项目提供类似的东西。
是否有我可以使用的提供类似功能的库?还是我应该只编写自己的工具/库?
【问题讨论】:
标签: git configuration
git-config 使用什么系统来管理配置?它是作为独立库/工具公开可用的吗?还是和 git 紧紧交织在一起?
我想为我的项目提供类似的东西。
是否有我可以使用的提供类似功能的库?还是我应该只编写自己的工具/库?
【问题讨论】:
标签: git configuration
对于 Python,由于 git 配置文件中的前导空格,似乎无法直接使用 ConfigParser。但它可以以这种方式使用
from ConfigParser import ConfigParser
from StringIO import StringIO
with open('.gitconfig') as f:
c = f.readlines()
cp = ConfigParser()
cp.readfp(StringIO(''.join([l.lstrip() for l in c])))
【讨论】:
ConfigParser 获得,例如[submodule "my/submodule/name"] 在.gitmodules 文件中
代码是自定义的。 Have a look for yourself(参见 builtin-config.c、config.c)。
有关重用的详细信息,请参阅许可证 (GPL v2)。
它不是一个通用库,也不是一个通用工具(尽管如果你总是通过--file 并且对它执行小节的方式没问题,你可能可以将它用作一个工具),所以它需要一些努力调整代码。
【讨论】:
除了Chris Johnsen answer:CPAN 上还有Config::GitLike Perl 模块。
它不是 Git 项目的一部分
【讨论】:
对于 Java,这里有一个非常小的库:gitconfig4j
【讨论】:
对于 Python,有 ConfigParser 模块,它使用类似的文件格式。
【讨论】: