бэкэнд для быстрых импортеров данных Git (Backend for fast Git data importers)
RESPONSES TO COMMANDS
New objects written by fast-import are not available immediately.
Most fast-import commands have no visible effect until the next
checkpoint (or completion). The frontend can send commands to
fill fast-import's input pipe without worrying about how quickly
they will take effect, which improves performance by simplifying
scheduling.
For some frontends, though, it is useful to be able to read back
data from the current repository as it is being updated (for
example when the source material describes objects in terms of
patches to be applied to previously imported objects). This can
be accomplished by connecting the frontend and fast-import via
bidirectional pipes:
mkfifo fast-import-output
frontend <fast-import-output |
git fast-import >fast-import-output
A frontend set up this way can use progress
, get-mark
, ls
, and
cat-blob
commands to read information from the import in
progress.
To avoid deadlock, such frontends must completely consume any
pending output from progress
, ls
, get-mark
, and cat-blob
before
performing writes to fast-import that might block.