From 31143b365550e16fae8e092ad35bc91eb63c66eb Mon Sep 17 00:00:00 2001 From: Etienne Samson Date: Sun, 30 Mar 2014 18:08:32 +0200 Subject: [PATCH] Don't reset need_pack While looping over multiple heads, an up-to-date head will clobber the `remote->need_pack` setting, preventing the rest of the machinery from building and downloading a pack-file, breaking fetches. --- src/fetch.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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;