@@ -98,6 +98,20 @@ advertised with this capability must cover all refs reported by
98
98
the list command. If no 'refspec' capability is advertised,
99
99
there is an implied `refspec *:*`.
100
100
101
+ 'bidi-import'::
102
+ The fast-import commands 'cat-blob' and 'ls' can be used by remote-helpers
103
+ to retrieve information about blobs and trees that already exist in
104
+ fast-import's memory. This requires a channel from fast-import to the
105
+ remote-helper.
106
+ If it is advertised in addition to "import", git establishes a pipe from
107
+ fast-import to the remote-helper's stdin.
108
+ It follows that git and fast-import are both connected to the
109
+ remote-helper's stdin. Because git can send multiple commands to
110
+ the remote-helper it is required that helpers that use 'bidi-import'
111
+ buffer all 'import' commands of a batch before sending data to fast-import.
112
+ This is to prevent mixing commands and fast-import responses on the
113
+ helper's stdin.
114
+
101
115
Capabilities for Pushing
102
116
~~~~~~~~~~~~~~~~~~~~~~~~
103
117
'connect'::
@@ -286,7 +300,12 @@ terminated with a blank line. For each batch of 'import', the remote
286
300
helper should produce a fast-import stream terminated by a 'done'
287
301
command.
288
302
+
289
- Supported if the helper has the "import" capability.
303
+ Note that if the 'bidi-import' capability is used the complete batch
304
+ sequence has to be buffered before starting to send data to fast-import
305
+ to prevent mixing of commands and fast-import responses on the helper's
306
+ stdin.
307
+ +
308
+ Supported if the helper has the 'import' capability.
290
309
291
310
'connect' <service>::
292
311
Connects to given service. Standard input and standard output
0 commit comments