Commit 3e63b21
upload-pack: Implement no-done capability
If the client requests both multi_ack_detailed and no-done then
upload-pack is free to immediately send a PACK following its first
'ACK %s ready' message. The upload-pack response actually winds
up being:
ACK %s common
... (maybe more) ...
ACK %s ready
NAK
ACK %s
PACK.... the pack stream ....
For smart HTTP connections this saves one HTTP RPC, reducing
the overall latency for a trivial fetch. For git:// and ssh://
a no-done option slightly reduces latency by removing one
server->client->server round-trip at the end of the common
ancestor negotiation.
Signed-off-by: Shawn O. Pearce <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>1 parent 49bee71 commit 3e63b21
1 file changed
+16
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| 30 | + | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| |||
431 | 432 | | |
432 | 433 | | |
433 | 434 | | |
| 435 | + | |
434 | 436 | | |
435 | 437 | | |
436 | 438 | | |
| |||
440 | 442 | | |
441 | 443 | | |
442 | 444 | | |
443 | | - | |
| 445 | + | |
| 446 | + | |
444 | 447 | | |
| 448 | + | |
445 | 449 | | |
446 | 450 | | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
447 | 456 | | |
448 | 457 | | |
449 | 458 | | |
| |||
457 | 466 | | |
458 | 467 | | |
459 | 468 | | |
460 | | - | |
| 469 | + | |
| 470 | + | |
461 | 471 | | |
462 | | - | |
| 472 | + | |
463 | 473 | | |
464 | 474 | | |
465 | 475 | | |
| |||
535 | 545 | | |
536 | 546 | | |
537 | 547 | | |
| 548 | + | |
| 549 | + | |
538 | 550 | | |
539 | 551 | | |
540 | 552 | | |
| |||
628 | 640 | | |
629 | 641 | | |
630 | 642 | | |
631 | | - | |
| 643 | + | |
632 | 644 | | |
633 | 645 | | |
634 | 646 | | |
| |||
0 commit comments