Module: Diffstitch::Git

Defined in:
lib/diffstitch/git.rb

Defined Under Namespace

Classes: Error

Class Method Summary collapse

Class Method Details

.diff(base, branch) ⇒ Object

Raises:



19
20
21
22
23
24
# File 'lib/diffstitch/git.rb', line 19

def self.diff(base, branch)
  out, err, status = Open3.capture3('git', 'diff', "#{base}..#{branch}", '--no-color')
  raise Error, "git diff #{base}..#{branch} failed:\n#{err.strip}" unless status.success?

  out
end

.in_repo?Boolean

Returns:

  • (Boolean)


9
10
11
12
# File 'lib/diffstitch/git.rb', line 9

def self.in_repo?
  _, _, status = Open3.capture3('git', 'rev-parse', '--git-dir')
  status.success?
end

.verify_ref!(ref) ⇒ Object

Raises:



14
15
16
17
# File 'lib/diffstitch/git.rb', line 14

def self.verify_ref!(ref)
  _, err, status = Open3.capture3('git', 'rev-parse', '--verify', "#{ref}^{commit}")
  raise Error, "'#{ref}' is not a valid branch or commit.\n#{err.strip}" unless status.success?
end