summaryrefslogtreecommitdiff
path: root/src/fetch.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fetch.c')
-rw-r--r--src/fetch.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/fetch.c b/src/fetch.c
index 276591821..9ff95d935 100644
--- a/src/fetch.c
+++ b/src/fetch.c
@@ -42,8 +42,9 @@ static int maybe_want(git_remote *remote, git_remote_head *head, git_odb *odb, g
return 0;
/* If we have the object, mark it so we don't ask for it */
- if (git_odb_exists(odb, &head->oid))
+ if (git_odb_exists(odb, &head->oid)) {
head->local = 1;
+ }
else
remote->need_pack = 1;
@@ -104,7 +105,9 @@ cleanup:
int git_fetch_negotiate(git_remote *remote)
{
git_transport *t = remote->transport;
-
+
+ remote->need_pack = 0;
+
if (filter_wants(remote) < 0) {
giterr_set(GITERR_NET, "Failed to filter the reference list for wants");
return -1;
@@ -128,9 +131,9 @@ int git_fetch_download_pack(git_remote *remote)
{
git_transport *t = remote->transport;
- if(!remote->need_pack)
+ if (!remote->need_pack)
return 0;
return t->download_pack(t, remote->repo, &remote->stats,
- remote->callbacks.transfer_progress, remote->callbacks.payload);
+ remote->callbacks.transfer_progress, remote->callbacks.payload);
}