git-config
使用什么系统来管理配置?它是作为独立的库/工具公开提供的吗?或者它是紧密交织在一起的?git-config样式配置系统
我想为我的项目有类似的东西。
是否有我可以使用的库,它提供了类似的功能?或者我应该只写自己的工具/库?
git-config
使用什么系统来管理配置?它是作为独立的库/工具公开提供的吗?或者它是紧密交织在一起的?git-config样式配置系统
我想为我的项目有类似的东西。
是否有我可以使用的库,它提供了类似的功能?或者我应该只写自己的工具/库?
除了Chris Johnsen answer:在CPAN上有Config::GitLike Perl模块。
这不是Git项目
该代码是自定义的。 Have a look for yourself(参见builtin-config.c,config.c)。
有关重复使用的详细信息,请参阅许可证(GPL v2)。
它不是一个通用的库,也不是一个通用的工具(尽管如果你总是通过--file
并且确定子节段的方式,你可以将它作为一个使用),所以需要一些工作以适应代码。
对于Python的一部分,有ConfigParser模块,它采用了类似的文件格式。
对于Java,在这里你有一个非常小的库:gitconfig4j
对于Python,似乎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”,例如'.gitmodules'文件中的[submodule“my/submodule/name”] – kostmo 2016-02-21 00:10:34
实际上,你不能直接使用ConfigParser使用,因为莱纳斯决定把标签由于某些原因格式。参见Congbin Guo的回答。 – Tritium21 2014-05-04 02:41:12