бэкэнд для быстрых импортеров данных Git (Backend for fast Git data importers)
TECHNICAL DISCUSSION
fast-import tracks a set of branches in memory. Any branch can be
created or modified at any point during the import process by
sending a commit
command on the input stream. This design allows
a frontend program to process an unlimited number of branches
simultaneously, generating commits in the order they are
available from the source data. It also simplifies the frontend
programs considerably.
fast-import does not use or alter the current working directory,
or any file within it. (It does however update the current Git
repository, as referenced by GIT_DIR
.) Therefore an import
frontend may use the working directory for its own purposes, such
as extracting file revisions from the foreign source. This
ignorance of the working directory also allows fast-import to run
very quickly, as it does not need to perform any costly file
update operations when switching between branches.