libgit2/tests-clar/network/remote
Daniel Rodríguez Troitiño 3793fa9b18 Fix saving remotes with several fetch/push ref specs.
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.
2013-11-01 00:08:52 +01:00
..
createthenload.c remote: reorganize tests 2013-02-11 23:19:39 +01:00
isvalidname.c remote: Introduce git_remote_is_valid_name() 2013-02-11 23:19:41 +01:00
local.c remote: put the _download() callback with the others 2013-10-02 06:41:42 +02:00
remotes.c Fix saving remotes with several fetch/push ref specs. 2013-11-01 00:08:52 +01:00
rename.c remote: reorganize tests 2013-02-11 23:19:39 +01:00