Add documentation for the 'bidi-import' capability of remote-helpers

Signed-off-by: Florian Achleitner <florian.achleitner.2.6.31@gmail.com>
Acked-by: David Michael Barr <b@rr-dav.id.au>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Florian Achleitner 2012-09-19 17:21:20 +02:00 committed by Junio C Hamano
parent bfc366d931
commit 271bfd678b

View File

@ -98,6 +98,20 @@ advertised with this capability must cover all refs reported by
the list command. If no 'refspec' capability is advertised, the list command. If no 'refspec' capability is advertised,
there is an implied `refspec *:*`. there is an implied `refspec *:*`.
'bidi-import'::
The fast-import commands 'cat-blob' and 'ls' can be used by remote-helpers
to retrieve information about blobs and trees that already exist in
fast-import's memory. This requires a channel from fast-import to the
remote-helper.
If it is advertised in addition to "import", git establishes a pipe from
fast-import to the remote-helper's stdin.
It follows that git and fast-import are both connected to the
remote-helper's stdin. Because git can send multiple commands to
the remote-helper it is required that helpers that use 'bidi-import'
buffer all 'import' commands of a batch before sending data to fast-import.
This is to prevent mixing commands and fast-import responses on the
helper's stdin.
Capabilities for Pushing Capabilities for Pushing
~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
'connect':: 'connect'::
@ -286,7 +300,12 @@ terminated with a blank line. For each batch of 'import', the remote
helper should produce a fast-import stream terminated by a 'done' helper should produce a fast-import stream terminated by a 'done'
command. command.
+ +
Supported if the helper has the "import" capability. Note that if the 'bidi-import' capability is used the complete batch
sequence has to be buffered before starting to send data to fast-import
to prevent mixing of commands and fast-import responses on the helper's
stdin.
+
Supported if the helper has the 'import' capability.
'connect' <service>:: 'connect' <service>::
Connects to given service. Standard input and standard output Connects to given service. Standard input and standard output