git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] add documentation for writing config files

From
Philip Oakley <philipoakley@iee.org>
Date
Jul 19, 2014, 18:35 UTC
Message-ID
<7DFDF6A1361542EE9BA73AB52B1234AF@PhilipOakley>
In-Reply-To
<1405782354-13929-1-git-send-email-tanayabh@gmail.com>
minor nit.
From: "Tanay Abhra" <tanayabh@gmail.com>
Show 30 quoted lines
> Replace TODO introduced in commit 9c3c22 with documentation
> explaining Git config API functions for writing configuration
> files.
>
> Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
> ---
> Documentation/technical/api-config.txt | 31 
> ++++++++++++++++++++++++++++++-
> 1 file changed, 30 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/technical/api-config.txt 
> b/Documentation/technical/api-config.txt
> index 230b3a0..df08385 100644
> --- a/Documentation/technical/api-config.txt
> +++ b/Documentation/technical/api-config.txt
> @@ -137,4 +137,33 @@ int read_file_with_include(const char *file, 
> config_fn_t fn, void *data)
> Writing Config Files
> --------------------
>
> -TODO
> +Git gives multiple entry points in the Config API to write config 
> values to
> +files namely `git_config_set_in_file` and `git_config_set`, which 
> write to
> +a specific config file or to `.git/config` respectively. They both 
> take a
> +key/value pair as parameter.
> +In the end they both all call `git_config_set_multivar_in_file` which 
> takes
s/both //    'both all' is a bit tautological.
Show 39 quoted lines
> +four parameters:
> +
> +- the name of the file, as a string, to which key/value pairs will be 
> written.
> +
> +- the name of key, as a string. This is in canonical "flat" form: the 
> section,
> +  subsection, and variable segments will be separated by dots, and 
> the section
> +  and variable segments will be all lowercase.
> +  E.g., `core.ignorecase`, `diff.SomeType.textconv`.
> +
> +- the value of the variable, as a string. If value is equal to NULL, 
> it will
> +  remove the matching key from the config file.
> +
> +- the value regex, as a string. It will disregard key/value pairs 
> where value
> +  does not match.
> +
> +- a multi_replace value, as an int. If value is equal to zero, 
> nothing or only
> +  one matching key/value is replaced, else all matching key/values 
> (regardless
> +  how many) are removed, before the new pair is written.
> +
> +It returns 0 on success.
> +
> +Also, there are functions `git_config_rename_section` and
> +`git_config_rename_section_in_file` with parameters `old_name` and 
> `new_name`
> +for renaming or removing sections in the config files. If NULL is 
> passed
> +through `new_name` parameter, the section will be removed from the 
> config file.
> -- 
> 1.9.0.GIT
>
> --
Philip 
Previous: Tanay AbhraNext: Tanay Abhra
Message 2 of 3 in “add documentation for writing config files”
  1. add documentation for writing config filesTanay Abhra, Jul 19, 2014
  2. Philip OakleyJul 19, 2014
  3. add documentation for writing config filesTanay Abhra, Jul 20, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.