diff --git a/src/fetch.c b/src/fetch.c index c7d2c83a1..9ff95d935 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -44,7 +44,6 @@ static int maybe_want(git_remote *remote, git_remote_head *head, git_odb *odb, g /* If we have the object, mark it so we don't ask for it */ if (git_odb_exists(odb, &head->oid)) { head->local = 1; - remote->need_pack = 0; } else remote->need_pack = 1; @@ -107,6 +106,8 @@ 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;