upload-pack: do not add duplicate objects to shallow list
[gitweb.git] / upload-pack.c
index b058e8de506baca9719b1ae13dd8c2a8a0dbcf14..bd6f25519cd18f3e15b1a08e8c2fc944400ba969 100644 (file)
@@ -603,8 +603,10 @@ static void receive_needs(void)
                                die("did not find object for %s", line);
                        if (object->type != OBJ_COMMIT)
                                die("invalid shallow object %s", sha1_to_hex(sha1));
-                       object->flags |= CLIENT_SHALLOW;
-                       add_object_array(object, NULL, &shallows);
+                       if (!(object->flags & CLIENT_SHALLOW)) {
+                               object->flags |= CLIENT_SHALLOW;
+                               add_object_array(object, NULL, &shallows);
+                       }
                        continue;
                }
                if (!prefixcmp(line, "deepen ")) {