From 8e398e4c84a4d02f2ee340590a0e6880277d210d Mon Sep 17 00:00:00 2001 From: Arthur Schreiber Date: Fri, 10 Oct 2014 13:17:53 +0200 Subject: [PATCH] Treat an empty list of refspecs the same as a NULL value. --- include/git2/remote.h | 6 +++--- src/remote.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/git2/remote.h b/include/git2/remote.h index b714d3469..422c93d38 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -308,7 +308,7 @@ GIT_EXTERN(int) git_remote_ls(const git_remote_head ***out, size_t *size, git_r * * @param remote the remote * @param refspecs the refspecs to use for this negotiation and - * download. Use NULL to use the base refspecs + * download. Use NULL or an empty array to use the base refspecs * @return 0 or an error code */ GIT_EXTERN(int) git_remote_download(git_remote *remote, const git_strarray *refspecs); @@ -376,8 +376,8 @@ GIT_EXTERN(int) git_remote_update_tips( * disconnect and update the remote-tracking branches. * * @param remote the remote to fetch from - * @param refspecs the refspecs to use for this fetch. Pass NULL to - * use the base refspecs. + * @param refspecs the refspecs to use for this fetch. Pass NULL or an + * empty array to use the base refspecs. * @param signature The identity to use when updating reflogs * @param reflog_message The message to insert into the reflogs. If NULL, the * default is "fetch" diff --git a/src/remote.c b/src/remote.c index dc9cae133..c659c55de 100644 --- a/src/remote.c +++ b/src/remote.c @@ -834,7 +834,7 @@ int git_remote_download(git_remote *remote, const git_strarray *refspecs) goto on_error; remote->passed_refspecs = 0; - if (!refspecs) { + if (!refspecs || !refspecs->count) { to_active = &remote->refspecs; } else { for (i = 0; i < refspecs->count; i++) {