remote: get rid of the run-time refspec setters

These were left over from the culling as it's not clear which use-cases
might benefit from this. It is not clear that we want to support any
use-case which depends on changing the remote's idea of the base
refspecs rather than passing in different per-operation refspec list, so
remove these functions.
This commit is contained in:
Carlos Martín Nieto 2015-05-14 09:35:08 +02:00
parent 7b5ce2e5c4
commit 70f7484d2a
3 changed files with 10 additions and 42 deletions

View File

@ -97,6 +97,10 @@ support for HTTPS connections insead of OpenSSL.
`git_remote_set_transport()` have been removed and the remote no
longer stores this configuration.
* `git_remote_set_fetch_refpecs()` and
`git_remote_set_push_refspecs()` have been removed. There is no
longer a way to set the base refspecs at run-time.
### Breaking API changes
* `git_smart_subtransport_cb` now has a `param` parameter.

View File

@ -189,16 +189,6 @@ GIT_EXTERN(int) git_remote_add_fetch(git_repository *repo, const char *remote, c
*/
GIT_EXTERN(int) git_remote_get_fetch_refspecs(git_strarray *array, const git_remote *remote);
/**
* Set the remote's list of fetch refspecs
*
* The contents of the string array are copied.
*
* @param remote the remote to modify
* @param array the new list of fetch resfpecs
*/
GIT_EXTERN(int) git_remote_set_fetch_refspecs(git_remote *remote, git_strarray *array);
/**
* Add a push refspec to the remote's configuration
*
@ -223,16 +213,6 @@ GIT_EXTERN(int) git_remote_add_push(git_repository *repo, const char *remote, co
*/
GIT_EXTERN(int) git_remote_get_push_refspecs(git_strarray *array, const git_remote *remote);
/**
* Set the remote's list of push refspecs
*
* The contents of the string array are copied.
*
* @param remote the remote to modify
* @param array the new list of push resfpecs
*/
GIT_EXTERN(int) git_remote_set_push_refspecs(git_remote *remote, git_strarray *array);
/**
* Get the number of refspecs for a remote
*

View File

@ -318,8 +318,9 @@ int git_remote_create_anonymous(git_remote **out, git_repository *repo, const ch
int git_remote_dup(git_remote **dest, git_remote *source)
{
size_t i;
int error = 0;
git_strarray refspecs = { 0 };
git_refspec *spec;
git_remote *remote = git__calloc(1, sizeof(git_remote));
GITERR_CHECK_ALLOC(remote);
@ -349,22 +350,15 @@ int git_remote_dup(git_remote **dest, git_remote *source)
goto cleanup;
}
if ((error = git_remote_get_fetch_refspecs(&refspecs, source)) < 0 ||
(error = git_remote_set_fetch_refspecs(remote, &refspecs)) < 0)
goto cleanup;
git_strarray_free(&refspecs);
if ((error = git_remote_get_push_refspecs(&refspecs, source)) < 0 ||
(error = git_remote_set_push_refspecs(remote, &refspecs)) < 0)
goto cleanup;
git_vector_foreach(&source->refspecs, i, spec) {
if ((error = add_refspec(remote, spec->string, !spec->push)) < 0)
goto cleanup;
}
*dest = remote;
cleanup:
git_strarray_free(&refspecs);
if (error < 0)
git__free(remote);
@ -2046,16 +2040,6 @@ static int set_refspecs(git_remote *remote, git_strarray *array, int push)
return 0;
}
int git_remote_set_fetch_refspecs(git_remote *remote, git_strarray *array)
{
return set_refspecs(remote, array, false);
}
int git_remote_set_push_refspecs(git_remote *remote, git_strarray *array)
{
return set_refspecs(remote, array, true);
}
static int copy_refspecs(git_strarray *array, const git_remote *remote, unsigned int push)
{
size_t i;