From: Johannes Sixt Date: Sun, 01 Mar 2015 09:11:30 GMT Subject: Re: [RFC/PATCH 0/5] protocol v2 for upload-pack Message-ID: <54F2D7C2.4010700@kdbg.org> In-Reply-To: <1425085318-30537-1-git-send-email-sbeller@google.com> Am 28.02.2015 um 02:01 schrieb Stefan Beller: > Heavily inspired by the ideas of Duy, who wrote the first > patches nearly a year ago. > > Nguyễn Thái Ngọc Duy (2): > upload-pack: only accept capabilities on the first "want" line > upload-pack: support out of band client capability requests > > Stefan Beller (3): > connect.c: connect to a remote service with some flags > daemon.c: accept extra service arguments > WIP/Document the http protocol change > > Documentation/git-upload-pack.txt | 10 +++++- > Documentation/technical/http-protocol.txt | 4 +-- > Documentation/technical/protocol-capabilities.txt | 4 +++ > builtin/fetch-pack.c | 2 +- > builtin/send-pack.c | 2 +- > connect.c | 21 ++++++------ > connect.h | 2 +- > daemon.c | 37 +++++++++++++-------- > transport.c | 3 +- > upload-pack.c | 39 +++++++++++++++++------ > 10 files changed, 86 insertions(+), 38 deletions(-) > You may also consider an idea I proposed here: http://thread.gmane.org/gmane.comp.version-control.git/206886/focus=207342 The idea is that the exchange begins as usual, but when the v2 client sees that the server also supports v2, then it begins sending its desired refs. When the server notices that the client spoke while it was still sending out its megabytes of ref advertisments, it stops the v1 advertisements and continues with v2 protocol. But Shawn pointed out that this would be difficult to implement in a JGit server because there is no way to poll the incoming channel while it is sending out refs. -- Hannes