- need_pack was not set to 0 when local fetch was already present causing negotiate_fetch access violation
diff --git a/src/fetch.c b/src/fetch.c
index 5bf2b93..c7d2c83 100644
--- a/src/fetch.c
+++ b/src/fetch.c
@@ -42,8 +42,10 @@ 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;
+ remote->need_pack = 0;
+ }
else
remote->need_pack = 1;