Browse Source
This documents the two pack push-pull protocols used by the smart upload-fetch/clone and send/receive commands. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>maint
Junio C Hamano
20 years ago
committed by
Linus Torvalds
1 changed files with 38 additions and 0 deletions
@ -0,0 +1,38 @@
@@ -0,0 +1,38 @@
|
||||
There are two Pack push-pull protocols. |
||||
|
||||
upload-pack (S) | fetch/clone-pack (C) protocol: |
||||
|
||||
# Tell the puller what commits we have and what their names are |
||||
S: SHA1 name |
||||
S: ... |
||||
S: SHA1 name |
||||
S: # flush -- it's your turn |
||||
# Tell the pusher what commits we want, and what we have |
||||
C: want name |
||||
C: .. |
||||
C: want name |
||||
C: have SHA1 |
||||
C: have SHA1 |
||||
C: ... |
||||
C: # flush -- occasionally ask "had enough?" |
||||
S: NAK |
||||
C: have SHA1 |
||||
C: ... |
||||
C: have SHA1 |
||||
S: ACK |
||||
C: done |
||||
S: XXXXXXX -- packfile contents. |
||||
|
||||
send-pack | receive-pack protocol. |
||||
|
||||
# Tell the pusher what commits we have and what their names are |
||||
C: SHA1 name |
||||
C: ... |
||||
C: SHA1 name |
||||
C: # flush -- it's your turn |
||||
# Tell the puller what the pusher has |
||||
S: old-SHA1 new-SHA1 name |
||||
S: old-SHA1 new-SHA1 name |
||||
S: ... |
||||
S: # flush -- done with the list |
||||
S: XXXXXXX --- packfile contents. |
Loading…
Reference in new issue