mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
[PATCH] Document two pack push-pull protocols.
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>
This commit is contained in:
parent
5ccdf4cef2
commit
9b011b2fe5
38
Documentation/pack-protocol.txt
Normal file
38
Documentation/pack-protocol.txt
Normal file
|
@ -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 a new issue