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 <[EMAIL PROTECTED]>
---

There currently are these two pack push-pull protocols used for
different purposes.  Maybe you invented another today?  I have
not looked beyond your log message.

 Documentation/pack-protocol.txt |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/pack-protocol.txt

3a74ad8bd10e958ddbd4d432ad3140abc5464229
diff --git a/Documentation/pack-protocol.txt b/Documentation/pack-protocol.txt
new file mode 100644
--- /dev/null
+++ b/Documentation/pack-protocol.txt
@@ -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.

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to