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