Class: Git::ExecutionContext::Global Private

Inherits:
Git::ExecutionContext show all
Defined in:
lib/git/execution_context/global.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Execution context for global git commands (no repository required)

Used for commands that do not require an existing repository — such as git init, git clone, and git version. Unlike Repository, this class leaves GIT_DIR, GIT_WORK_TREE, and GIT_INDEX_FILE as nil (which unsets them), so that the parent environment cannot leak an unintended repository context. GIT_SSH is still supported to allow SSH-based remote operations (e.g. git clone git@github.com:...).

Examples:

Create a context using the default git binary

context = Git::ExecutionContext::Global.new

Create a context targeting a specific binary

context = Git::ExecutionContext::Global.new(binary_path: '/usr/local/bin/git2')

See Also:

Constant Summary

Constants inherited from Git::ExecutionContext

COMMAND_CAPTURING_ARG_DEFAULTS, COMMAND_STREAMING_ARG_DEFAULTS, STATIC_GLOBAL_OPTS

Instance Attribute Summary

Attributes inherited from Git::ExecutionContext

#logger

Method Summary

Methods inherited from Git::ExecutionContext

#binary_path, #command_capturing, #command_streaming, #env_overrides, #git_dir, #git_index_file, #git_ssh, #git_version, #git_work_dir, #initialize

Constructor Details

This class inherits a constructor from Git::ExecutionContext