Name |
Last commit
|
Last update |
---|---|---|
.. | ||
commit.h | ||
config.h | ||
filter.h | ||
index.h | ||
odb_backend.h | ||
refdb_backend.h | ||
reflog.h | ||
refs.h | ||
repository.h |
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 |
---|---|---|
.. | ||
commit.h | Loading commit data... | |
config.h | Loading commit data... | |
filter.h | Loading commit data... | |
index.h | Loading commit data... | |
odb_backend.h | Loading commit data... | |
refdb_backend.h | Loading commit data... | |
reflog.h | Loading commit data... | |
refs.h | Loading commit data... | |
repository.h | Loading commit data... |