]> git.ipfire.org Git - thirdparty/git.git/blame - Documentation/technical/pack-protocol.txt
Documentation: fix missing links to git(7)
[thirdparty/git.git] / Documentation / technical / pack-protocol.txt
CommitLineData
76cead39
JH
1Pack transfer protocols
2=======================
3
9b011b2f
JH
4There are two Pack push-pull protocols.
5
6upload-pack (S) | fetch/clone-pack (C) protocol:
7
8 # Tell the puller what commits we have and what their names are
9 S: SHA1 name
10 S: ...
11 S: SHA1 name
12 S: # flush -- it's your turn
13 # Tell the pusher what commits we want, and what we have
14 C: want name
15 C: ..
16 C: want name
17 C: have SHA1
18 C: have SHA1
19 C: ...
20 C: # flush -- occasionally ask "had enough?"
21 S: NAK
22 C: have SHA1
23 C: ...
24 C: have SHA1
25 S: ACK
26 C: done
27 S: XXXXXXX -- packfile contents.
28
29send-pack | receive-pack protocol.
30
31 # Tell the pusher what commits we have and what their names are
32 C: SHA1 name
33 C: ...
34 C: SHA1 name
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
39 S: ...
40 S: # flush -- done with the list
41 S: XXXXXXX --- packfile contents.