+ sha1_buf = dummy;
+ if (needs == MAX_NEEDS) {
+ fprintf(stderr,
+ "warning: supporting only a max of %d requests. "
+ "sending everything instead.\n",
+ MAX_NEEDS);
+ }
+ else if (needs < MAX_NEEDS)
+ sha1_buf = needs_sha1[needs];
+
+ if (strncmp("want ", line, 5) || get_sha1_hex(line+5, sha1_buf))
+ die("git-upload-pack: protocol error, "
+ "expected to get sha, not '%s'", line);
+ if (strstr(line+45, "multi_ack"))
+ multi_ack = 1;
+ if (strstr(line+45, "thin-pack"))
+ use_thin_pack = 1;
+
+ /* We have sent all our refs already, and the other end
+ * should have chosen out of them; otherwise they are
+ * asking for nonsense.
+ *
+ * Hmph. We may later want to allow "want" line that
+ * asks for something like "master~10" (symbolic)...
+ * would it make sense? I don't know.