1 Pack transfer protocols
2 =======================
4 There are two Pack push-pull protocols.
6 upload-pack (S) | fetch/clone-pack (C) protocol:
8 # Tell the puller what commits we have and what their names are
12 S: # flush -- it's your turn
13 # Tell the pusher what commits we want, and what we have
20 C: # flush -- occasionally ask "had enough?"
27 S: XXXXXXX -- packfile contents.
29 send-pack | receive-pack protocol.
31 # Tell the pusher what commits we have and what their names are
35 C: # flush -- it's your turn
36 # Tell the puller what the pusher has
37 S: old-SHA1 new-SHA1 name
38 S: old-SHA1 new-SHA1 name
40 S: # flush -- done with the list
41 S: XXXXXXX --- packfile contents.