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. ...@@ -97,6 +97,10 @@ support for HTTPS connections insead of OpenSSL.
`git_remote_set_transport()` have been removed and the remote no `git_remote_set_transport()` have been removed and the remote no
longer stores this configuration. 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 ### Breaking API changes
* `git_smart_subtransport_cb` now has a `param` parameter. * `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 ...@@ -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); 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 a push refspec to the remote's configuration
* *
* Add the given refspec to the push list in the configuration. No * 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 ...@@ -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); 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 * Get the number of refspecs for a remote
* *
* @param remote the remote * @param remote the remote
......
...@@ -318,8 +318,9 @@ int git_remote_create_anonymous(git_remote **out, git_repository *repo, const ch ...@@ -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) int git_remote_dup(git_remote **dest, git_remote *source)
{ {
size_t i;
int error = 0; int error = 0;
git_strarray refspecs = { 0 }; git_refspec *spec;
git_remote *remote = git__calloc(1, sizeof(git_remote)); git_remote *remote = git__calloc(1, sizeof(git_remote));
GITERR_CHECK_ALLOC(remote); GITERR_CHECK_ALLOC(remote);
...@@ -349,22 +350,15 @@ int git_remote_dup(git_remote **dest, git_remote *source) ...@@ -349,22 +350,15 @@ int git_remote_dup(git_remote **dest, git_remote *source)
goto cleanup; goto cleanup;
} }
if ((error = git_remote_get_fetch_refspecs(&refspecs, source)) < 0 || git_vector_foreach(&source->refspecs, i, spec) {
(error = git_remote_set_fetch_refspecs(remote, &refspecs)) < 0) if ((error = add_refspec(remote, spec->string, !spec->push)) < 0)
goto cleanup; 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;
*dest = remote; *dest = remote;
cleanup: cleanup:
git_strarray_free(&refspecs);
if (error < 0) if (error < 0)
git__free(remote); git__free(remote);
...@@ -2046,16 +2040,6 @@ static int set_refspecs(git_remote *remote, git_strarray *array, int push) ...@@ -2046,16 +2040,6 @@ static int set_refspecs(git_remote *remote, git_strarray *array, int push)
return 0; 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) static int copy_refspecs(git_strarray *array, const git_remote *remote, unsigned int push)
{ {
size_t i; 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