Browse Source

[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>
maint
Junio C Hamano 20 years ago committed by Linus Torvalds
parent
commit
9b011b2fe5
  1. 38
      Documentation/pack-protocol.txt

38
Documentation/pack-protocol.txt

@ -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…
Cancel
Save