class Git::CommandLineError

Raised when a git command fails or exits because of an uncaught signal

The git command executed, status, stdout, and stderr are available from this object.

The Gem will raise a more specific error for each type of failure:

@api public

Public Class Methods

new(result) click to toggle source

Create a CommandLineError object

@example

`exit 1` # set $? appropriately for this example
result = Git::CommandLineResult.new(%w[git status], $?, 'stdout', 'stderr')
error = Git::CommandLineError.new(result)
error.to_s #=> '["git", "status"], status: pid 89784 exit 1, stderr: "stderr"'

@param result [Git::CommandLineResult] the result of the git command including

the git command, status, stdout, and stderr
Calls superclass method
# File lib/git/errors.rb, line 97
def initialize(result)
  @result = result
  super(error_message)
end

Public Instance Methods

error_message(= <<~MESSAGE.chomp) click to toggle source

The human readable representation of this error

@example

error.error_message #=> '["git", "status"], status: pid 89784 exit 1, stderr: "stderr"'

@return [String]

# File lib/git/errors.rb, line 109
    def error_message = <<~MESSAGE.chomp
      #{result.git_cmd}, status: #{result.status}, stderr: #{result.stderr.inspect}
    MESSAGE

    # @attribute [r] result
    #
    # The result of the git command including the git command and its status and output
    #
    # @example
    #   error.result #=> #<Git::CommandLineResult:0x00000001046bd488 ...>
    #
    # @return [Git::CommandLineResult]
    #
    attr_reader :result
  end