{"thread":{"id":"1223","subject":"[PATCH] Document two pack push-pull protocols.","startedAt":"2005-07-14T03:21:54Z","lastAt":"2005-07-14T03:34:01Z","messageCount":2,"participants":["Junio C Hamano","Linus Torvalds"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"6104","messageId":"7v64vem5rh.fsf@assigned-by-dhcp.cox.net","threadId":"1223","inReplyTo":null,"subject":"[PATCH] Document two pack push-pull protocols.","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-07-14T03:21:54Z","receivedAt":"2005-07-14T03:21:54Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This documents the two pack push-pull protocols used by the\nsmart upload-fetch/clone and send/receive commands.\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\n\nThere currently are these two pack push-pull protocols used for\ndifferent purposes.  Maybe you invented another today?  I have\nnot looked beyond your log message.\n\n Documentation/pack-protocol.txt |   38 ++++++++++++++++++++++++++++++++++++++\n 1 files changed, 38 insertions(+), 0 deletions(-)\n create mode 100644 Documentation/pack-protocol.txt\n\n3a74ad8bd10e958ddbd4d432ad3140abc5464229\ndiff --git a/Documentation/pack-protocol.txt b/Documentation/pack-protocol.txt\nnew file mode 100644\n--- /dev/null\n+++ b/Documentation/pack-protocol.txt\n@@ -0,0 +1,38 @@\n+There are two Pack push-pull protocols.\n+\n+upload-pack (S) | fetch/clone-pack (C) protocol:\n+\n+\t# Tell the puller what commits we have and what their names are\n+\tS: SHA1 name\n+\tS: ...\n+\tS: SHA1 name\n+\tS: # flush -- it's your turn\n+\t# Tell the pusher what commits we want, and what we have\n+\tC: want name\n+\tC: ..\n+\tC: want name\n+\tC: have SHA1\n+\tC: have SHA1\n+\tC: ...\n+\tC: # flush -- occasionally ask \"had enough?\"\n+\tS: NAK\n+\tC: have SHA1\n+\tC: ...\n+\tC: have SHA1\n+\tS: ACK\n+\tC: done\n+\tS: XXXXXXX -- packfile contents.\n+\n+send-pack | receive-pack protocol.\n+\n+\t# Tell the pusher what commits we have and what their names are\n+\tC: SHA1 name\n+\tC: ...\n+\tC: SHA1 name\n+\tC: # flush -- it's your turn\n+\t# Tell the puller what the pusher has\n+\tS: old-SHA1 new-SHA1 name\n+\tS: old-SHA1 new-SHA1 name\n+\tS: ...\n+\tS: # flush -- done with the list\n+\tS: XXXXXXX --- packfile contents.\n"},{"id":"6111","messageId":"Pine.LNX.4.58.0507132032460.19183@g5.osdl.org","threadId":"1223","inReplyTo":"7v64vem5rh.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Document two pack push-pull protocols.","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-07-14T03:34:01Z","receivedAt":"2005-07-14T03:34:01Z","isPatch":true,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Wed, 13 Jul 2005, Junio C Hamano wrote:\n> \n> There currently are these two pack push-pull protocols used for\n> different purposes.  Maybe you invented another today?  I have\n> not looked beyond your log message.\n\nNo, it's the upload-pack one.\n\nThe send-pack protocol is just for writing new stuff, not appropriate for\nan anonymous connection with no authentication.\n\n\t\tLinus\n"}]}