diff options
author | Etienne Samson <tiennou7@gmail.com> | 2014-03-30 18:08:32 +0200 |
---|---|---|
committer | Etienne Samson <tiennou7@gmail.com> | 2014-03-30 19:08:56 +0200 |
commit | 31143b365550e16fae8e092ad35bc91eb63c66eb (patch) | |
tree | ee336d50022c09cebefdf02a0eeacdbdbb1833e3 | |
parent | 7b445c2195f1fff455d13218851fc683f5dd4058 (diff) | |
download | libgit2-31143b365550e16fae8e092ad35bc91eb63c66eb.tar.gz |
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.
-rw-r--r-- | src/fetch.c | 3 |
1 files changed, 2 insertions, 1 deletions
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; |