]>
Commit | Line | Data |
---|---|---|
76cead39 JH |
1 | Pack transfer protocols |
2 | ======================= | |
3 | ||
9b011b2f JH |
4 | There are two Pack push-pull protocols. |
5 | ||
6 | upload-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 | ||
29 | send-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. |