- 13 Jan, 2014 1 commit
-
-
Arthur Schreiber committed
-
- 02 Jan, 2014 1 commit
-
-
Robert Konrad committed
-
- 11 Dec, 2013 1 commit
-
-
This adds `git_config__lookup_entry` which will look up a key in a config and return either the entry or NULL if the key was not present. Optionally, it can either suppress all errors or can return them (although not finding the key is not an error for this function). Unlike other accessors, this does not normalize the config key string, so it must only be used when the key is known to be in normalized form (i.e. all lower-case before the first dot and after the last dot, with no invalid characters). This also adds three high-level helper functions to look up config values with no errors and a fallback value. The three functions are for string, bool, and int values, and will resort to the fallback value for any error that arises. They are: * `git_config__get_string_force` * `git_config__get_bool_force` * `git_config__get_int_force` None of them normalize the config `key` either, so they can only be used for internal cases where the key is known to be in normal format.
Russell Belfer committed
-
- 10 Nov, 2013 1 commit
-
-
Vicent Marti committed
-
- 07 Nov, 2013 2 commits
-
-
Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed -
If the value contains a command (; or #) char or starts or ends with space it needs to be quoted. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Sven Strickroth committed
-
- 05 Nov, 2013 3 commits
-
-
nulltoken committed
-
nulltoken committed
-
Edward Thomson committed
-
- 02 Nov, 2013 1 commit
-
-
We used to move `data_start` forward, which is wrong as that needs to point to the beginning of the buffer in order to perform size calculations. Introduce a `write_start` variable which indicates where we should start writing from, which is what the `data_start` was being wrongly reused to be.
Carlos Martín Nieto committed
-
- 01 Nov, 2013 1 commit
-
-
Vicent Marti committed
-
- 31 Oct, 2013 2 commits
-
-
Daniel Rodríguez Troitiño committed
-
At some moment git_config_delete_entry lost the ability to delete one entry of a multivar configuration. The moment you had more than one fetch or push ref spec for a remote you will not be able to save that remote anymore. The changes in network::remote::remotes::save show that problem. I needed to create a new git_config_delete_multivar because I was not able to remove one or several entries of a multivar config with the current API. Several tries modifying how git_config_set_multivar(..., NULL) behaved were not successful. git_config_delete_multivar is very similar to git_config_set_multivar, and delegates into config_delete_multivar of config_file. This function search for the cvar_t that will be deleted, storing them in a temporal array, and rebuilding the linked list. After calling config_write to delete the entries, the cvar_t stored in the temporal array are freed. There is a little fix in config_write, it avoids an infinite loop when using a regular expression (case for the multivars). This error was found by the test network::remote::remotes::tagopt.
Daniel Rodríguez Troitiño committed
-
- 01 Oct, 2013 1 commit
-
-
Linquize committed
-
- 19 Sep, 2013 1 commit
-
-
Linquize committed
-
- 17 Sep, 2013 1 commit
-
-
This makes the git_buf struct that was used internally into an externally available structure and eliminates the git_buffer. As part of that, some of the special cases that arose with the externally used git_buffer were blended into the git_buf, such as being careful about git_buf objects that may have a NULL ptr and allowing for bufs with a valid ptr and size but zero asize as a way of referring to externally owned data.
Russell Belfer committed
-
- 07 Sep, 2013 6 commits
-
-
As the include depth increases, the chance of a realloc increases. This means that whenever we run git_array_alloc() or call config_parse(), we need to remember what our reader's index is so we can look it up again.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
When two or more variables of the same name exist and the user asks for a scalar, we must return the latest value assign to it.
Carlos Martín Nieto committed -
We need to refresh the variables from the included files if they are changed, so loop over all included files and re-parse the files if any of them has changed.
Carlos Martín Nieto committed -
When refreshing we need to refresh if any of the files have been touched, so we need to keep the list.
Carlos Martín Nieto committed -
Relative, absolute and home-relative paths are supported. The recursion limit it set at 10, just like in git.
Carlos Martín Nieto committed
-
- 05 Sep, 2013 1 commit
-
-
In order to support config includes, we must differentiate between the backend's main file and the file we are currently parsing. This lays the groundwork for includes, keeping the current behaviours.
Carlos Martín Nieto committed
-
- 13 Aug, 2013 1 commit
-
-
Build it on top of the normal iterator instead, which lets use re-use a lot of code.
Carlos Martín Nieto committed
-
- 12 Aug, 2013 2 commits
-
-
Carlos Martín Nieto committed
-
As the name suggests, it iterates over all the entries
Carlos Martín Nieto committed
-
- 08 Aug, 2013 11 commits
-
-
`git_config_set_string(config, "config.section", "")` fails when escaping the value. The buffer in `escape_value` is allocated without NULL-termination. And in case of empty string 0 is passed for buffer size in `git_buf_grow`. `git_buf_detach` returns NULL when the allocated size is 0 and that leads to an error return in `GITERR_CHECK_ALLOC` called after `escape_value` The change in `config_file.c` was suggested by Russell Belfer <rb@github.com>
Nikolai Vladimirov committed -
Implement the foreach version as a wrapper around the iterator.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Carlos Martín Nieto committed
-
Like we have in the references iterator, next and free belong in the iterator itself.
Carlos Martín Nieto committed -
The plain function will return an iterator, so move this one out of the way.
Carlos Martín Nieto committed -
Really report an error in foreach if we fail to allocate the iterator, and don't fail if the config is emtpy.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Make the iterator structure opaque and make sure it compiles.
Carlos Martín Nieto committed -
new functions in struct git_config_backend: * iterator_new(...) * iterator_free(...) * next(...) The old callback based foreach style can still be used with `git_config_backend_foreach_match`
Nico von Geyso committed -
This step is needed to easily add iterators to git_config_backend As well use these new git_strmap functions to implement foreach * git_strmap_iter * git_strmap_has_data(...) * git_strmap_begin(...) * git_strmap_end(...) * git_strmap_next(...)
Nico von Geyso committed
-
- 07 Aug, 2013 1 commit
-
-
Parse config headers that have the last quote on the line quoted instead of walking off the end.
Edward Thomson committed
-
- 01 Jul, 2013 1 commit
-
-
Russell Belfer committed
-
- 24 May, 2013 1 commit
-
-
The GIT_CONFIG_LEVEL constants actually work well as an enum because they are mutually exclusive, so this adds a typedef to the enum and uses that everywhere that one of these constants are expected, instead of the old code that typically used an unsigned int.
Russell Belfer committed
-