def diff_objects(commit_sha, parents = true)
revs = []
Grit.no_quote = true
if parents
cmd = "-r -t -m #{commit_sha}"
revs = self.git.diff_tree({:timeout => false}, cmd).strip.split("\n").map{ |a| r = a.split(' '); r[3] if r[1] != '160000' }
else
cmd = "-r -t #{commit_sha}"
revs = self.git.method_missing('ls-tree', {:timeout => false}, "-r -t #{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