Method: Rugged::Repository#diff

Defined in:
lib/rugged/repository.rb

#diff(left, right, opts = {}) ⇒ Object

[View source]

99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File 'lib/rugged/repository.rb', line 99

def diff(left, right, opts = {})
  left = rev_parse(left) if left.kind_of?(String)
  right = rev_parse(right) if right.kind_of?(String)

  if !left.is_a?(Rugged::Tree) && !left.is_a?(Rugged::Commit) && !left.nil?
    raise TypeError, "Expected a Rugged::Tree or Rugged::Commit instance"
  end

  if !right.is_a?(Rugged::Tree) && !right.is_a?(Rugged::Commit) && !right.nil?
    raise TypeError, "Expected a Rugged::Tree or Rugged::Commit instance"
  end

  if left
    left.diff(right, opts)
  elsif right
    right.diff(left, opts.merge(:reverse => !opts[:reverse]))
  end
end