Commit 70f7484d by Carlos Martín Nieto

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.
parent 7b5ce2e5
......@@ -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.
......
......@@ -190,16 +190,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
*
* Add the given refspec to the push list in the configuration. No
......@@ -224,16 +214,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
*
* @param remote the remote
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment