- rev-list [1] ---> receive-pack
-
-The parent then writes to the pipe and later closes it. There
-is a commented out waitpid to wait for the rev-list side before
-it exits, I again do not understand why.
-
-The rev-list function further sets up a pipe and forks to run
-git-rev-list piped to git-pack-objects. The child side, before
-exec'ing git-pack-objects, rearranges the file descriptors:
-
-. what it reads from the pipe becomes the stdin; this gets the
- list of objects from the git-rev-list process.
-
-. its stdout is already connected to receive-pack, so what it
- generates goes there.
-
-The parent process arranges its file descriptors before exec'ing
-git-rev-list:
-
-. its stdout is sent to the pipe to feed git-pack-objects.
-
-. its stdin is already connected to rev-list-generate and will
- read the set of refs from it.
-
-
- send-pack
- |
- rev-list-generate
- |
- v [0]
- git-rev-list [1] ---> [0] git-pack-objects [1] ---> receive-pack
-