diff options
author | Florian Achleitner <florian.achleitner.2.6.31@gmail.com> | 2012-09-19 17:21:19 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-10-07 14:10:16 -0700 |
commit | bfc366d9315561166861bc97a395afc054c976c3 (patch) | |
tree | 0ceb013859d4da4ad65dc52eb56da5a1f655c36d /mergetools/bc3 | |
parent | Add argv_array_detach and argv_array_free_detached (diff) | |
download | tgif-bfc366d9315561166861bc97a395afc054c976c3.tar.xz |
Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability
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.
remote-helpers that use these features shall advertise the new
'bidi-import' capability to signal that they require the communication
channel. When forking fast-import in transport-helper.c connect it to
a dup of the remote-helper's stdin-pipe. The additional file
descriptor is passed to fast-import via its command line
(--cat-blob-fd). It follows that git and fast-import are connected to
the remote-helpers's stdin.
Because git can send multiple commands to the remote-helper on it's
stdin, it is required that helpers that advertise 'bidi-import' buffer
all input commands until the batch of 'import' commands is ended by a
newline before sending data to fast-import. This is to prevent mixing
commands and fast-import responses on the helper's stdin.
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>
Diffstat (limited to 'mergetools/bc3')
0 files changed, 0 insertions, 0 deletions