module Berkshelf::Mixin::Git

Public Instance Methods

git(command, error = true, **kwargs) click to toggle source

Perform a git command.

@param [String] command

the command to run

@param [Boolean] error

whether to raise error if the command fails

@raise [String]

the +$stdout+ from the command
# File lib/berkshelf/mixin/git.rb, line 16
def git(command, error = true, **kwargs)
  unless Berkshelf.which("git") || Berkshelf.which("git.exe") || Berkshelf.which("git.bat")
    raise GitNotInstalled.new
  end

  response = shell_out(%{git #{command}}, **kwargs)

  if response.error?
    raise GitCommandError.new(command, cache_path, response.stderr)
  end

  response.stdout.strip
end