| Name | Last commit | Last update | 
|---|---|---|
| .. | ||
| add.c | ||
| backend.c | ||
| config_helpers.c | ||
| config_helpers.h | ||
| configlevel.c | ||
| global.c | ||
| include.c | ||
| multivar.c | ||
| new.c | ||
| read.c | ||
| refresh.c | ||
| stress.c | ||
| validkeyname.c | ||
| write.c | 
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.
| Name | Last commit | Last update | 
|---|---|---|
| .. | ||
| add.c | Loading commit data... | |
| backend.c | Loading commit data... | |
| config_helpers.c | Loading commit data... | |
| config_helpers.h | Loading commit data... | |
| configlevel.c | Loading commit data... | |
| global.c | Loading commit data... | |
| include.c | Loading commit data... | |
| multivar.c | Loading commit data... | |
| new.c | Loading commit data... | |
| read.c | Loading commit data... | |
| refresh.c | Loading commit data... | |
| stress.c | Loading commit data... | |
| validkeyname.c | Loading commit data... | |
| write.c | Loading commit data... |