def diff_objects(commit_sha, parents = true)
revs = []
Grit.no_quote = true
if parents
revs = self.git.diff_tree({:timeout => false, :r => true, :t => true, :m => true}, commit_sha).
strip.split("\n").map{ |a| r = a.split(' '); r[3] if r[1] != '160000' }
else
revs = self.git.native(:ls_tree, {:timeout => false, :r => true, :t => true}, commit_sha).
split("\n").map{ |a| a.split("\t").first.split(' ')[2] }
end
revs << self.commit(commit_sha).tree.id
Grit.no_quote = false
return revs.uniq.compact
end