Code

Add functions git_config_set() and git_config_set_multivar()
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 17 Nov 2005 21:32:36 +0000 (22:32 +0100)
committerJunio C Hamano <junkio@cox.net>
Sun, 20 Nov 2005 04:47:29 +0000 (20:47 -0800)
commit10bea152a34b2bf1194ede5e0c9e5595ab2100f3
tree64db26afffe676425fef2bace14d915fad87c381
parent0890098780f295f2a58658d1f6b6627e40426c72
Add functions git_config_set() and git_config_set_multivar()

The function git_config_set() does exactly what you think it does.
Given a key (in the form "core.filemode") and a value, it sets the
key to the value. Example:

git_config_set("core.filemode", "true");

The function git_config_set_multivar() is meant for setting variables which
can have several values for the same key. Example:

[diff]
twohead = resolve
twohead = recarsive

the typo in the second line can be replaced by

git_config_set_multivar("diff.twohead", "recursive", "^recar");

The third argument of the function is a POSIX extended regex which has to
match the value. If there is no key/value pair with a matching value, a new
key/value pair is added.

These commands are also capable of unsetting (deleting) entries:

git_config_set_multivar("diff.twohead", NULL, "sol");

will delete the entry

twohead = resolve

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
cache.h
config.c