summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtienne Samson <tiennou7@gmail.com>2014-03-30 18:08:32 +0200
committerEtienne Samson <tiennou7@gmail.com>2014-03-30 19:08:56 +0200
commit31143b365550e16fae8e092ad35bc91eb63c66eb (patch)
treeee336d50022c09cebefdf02a0eeacdbdbb1833e3
parent7b445c2195f1fff455d13218851fc683f5dd4058 (diff)
downloadlibgit2-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.c3
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;