Merge branch 'jc/upload-pack'
authorJunio C Hamano <junkio@cox.net>
Sun, 13 Aug 2006 05:16:51 +0000 (22:16 -0700)
committerJunio C Hamano <junkio@cox.net>
Sun, 13 Aug 2006 05:16:51 +0000 (22:16 -0700)
1  2 
upload-pack.c

diff --cc upload-pack.c
@@@ -326,24 -322,23 +328,23 @@@ static int got_sha1(char *hex, unsigne
                die("git-upload-pack: expected SHA1 object, got '%s'", hex);
        if (!has_sha1_file(sha1))
                return 0;
-       if (nr_has < MAX_HAS) {
-               struct object *o = lookup_object(sha1);
-               if (!(o && o->parsed))
-                       o = parse_object(sha1);
-               if (!o)
-                       die("oops (%s)", sha1_to_hex(sha1));
-               if (o->type == OBJ_COMMIT) {
-                       struct commit_list *parents;
-                       if (o->flags & THEY_HAVE)
-                               return 0;
-                       o->flags |= THEY_HAVE;
-                       for (parents = ((struct commit*)o)->parents;
-                            parents;
-                            parents = parents->next)
-                               parents->item->object.flags |= THEY_HAVE;
-               }
-               memcpy(has_sha1[nr_has++], sha1, 20);
+       o = lookup_object(sha1);
+       if (!(o && o->parsed))
+               o = parse_object(sha1);
+       if (!o)
+               die("oops (%s)", sha1_to_hex(sha1));
 -      if (o->type == TYPE_COMMIT) {
++      if (o->type == OBJ_COMMIT) {
+               struct commit_list *parents;
+               if (o->flags & THEY_HAVE)
+                       return 0;
+               o->flags |= THEY_HAVE;
+               for (parents = ((struct commit*)o)->parents;
+                    parents;
+                    parents = parents->next)
+                       parents->item->object.flags |= THEY_HAVE;
        }
+       add_object_array(o, NULL, &have_obj);
        return 1;
  }