From 95057b85034a226ed5f9bcd7a461a296bbdb7bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Fri, 18 Nov 2011 21:18:39 +0100 Subject: [PATCH] remote: get rid of git_remote_negotiate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is no good reason to expose the negotiation as a different step to downloading the packfile. Signed-off-by: Carlos Martín Nieto --- include/git2/remote.h | 17 +++++------------ src/remote.c | 10 +++++----- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/include/git2/remote.h b/include/git2/remote.h index 54116c22e..0781bb773 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -106,21 +106,14 @@ GIT_EXTERN(int) git_remote_connect(struct git_remote *remote, int direction); */ GIT_EXTERN(int) git_remote_ls(git_remote *remote, git_headarray *refs); -/** - * Negotiate what data needs to be exchanged to synchroize the remtoe - * and local references - * - * @param remote the remote you want to negotiate with - */ -GIT_EXTERN(int) git_remote_negotiate(git_remote *remote); - /** * Download the packfile * - * The packfile is downloaded with a temporary filename, as it's final - * name is not known yet. If there was no packfile needed (all the - * objects were available locally), filename will be NULL and the - * function will return success. + * Negotiate what objects should be downloaded and download the + * packfile with those objects. The packfile is downloaded with a + * temporary filename, as it's final name is not known yet. If there + * was no packfile needed (all the objects were available locally), + * filename will be NULL and the function will return success. * * @param remote the remote to download from * @param filename where to store the temproray filename diff --git a/src/remote.c b/src/remote.c index 3ff08a21e..6ac3bc168 100644 --- a/src/remote.c +++ b/src/remote.c @@ -206,13 +206,13 @@ int git_remote_ls(git_remote *remote, git_headarray *refs) return remote->transport->ls(remote->transport, refs); } -int git_remote_negotiate(git_remote *remote) -{ - return git_fetch_negotiate(remote); -} - int git_remote_download(char **filename, git_remote *remote) { + int error; + + if ((error = git_fetch_negotiate(remote)) < 0) + return git__rethrow(error, "Error negotiating"); + return git_fetch_download_pack(filename, remote); }