Module: Git::CommandLine
- Defined in:
- lib/git/command_line.rb,
lib/git/command_line/base.rb,
lib/git/command_line/result.rb,
lib/git/command_line/capturing.rb,
lib/git/command_line/streaming.rb
Overview
Namespace module for git command-line execution strategies
This module groups the classes responsible for invoking git subprocesses and handling their output. Choose a concrete class based on your buffering needs:
Capturing — buffers stdout and stderr in memory. Use this for the vast majority of git commands whose output fits in memory.
Streaming — streams stdout to a caller-supplied IO. Use this for commands (e.g.
cat-file -p <blob>) whose output may be too large to buffer.
Both classes inherit from Base and are instantiated via factory helpers in Lib: Lib#command_capturing and Lib#command_streaming.
Results are returned as Result objects (also accessible as CommandLineResult for backward compatibility).