mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-02 12:29:08 +00:00
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:
parent
7b5ce2e5c4
commit
70f7484d2a
@ -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.
|
||||
|
@ -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
|
||||
*
|
||||
|
28
src/remote.c
28
src/remote.c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user