def commit_discussion(number)
pull_commits = client.pull_commits(source_repo, number)
repo = client.pull_request(source_repo, number).head.repo.full_name
discussion = ["Commits on pull request:\n\n"]
discussion += pull_commits.collect { |commit|
name = commit.committer.login
output = "\e[35m#{name}\e[m "
output << "committed \e[36m#{commit.sha[0..6]}\e[m "
output << "on #{commit.commit.committer.date.review_time}"
output << ":\n#{''.rjust(output.length + 1, "-")}\n"
output << "#{commit.commit.message}"
output << "\n\n"
result = [output]
comments = client.commit_comments(repo, commit.sha)
result + comments.collect { |comment|
name = comment.user.login
output = "\e[35m#{name}\e[m "
output << "added a comment to \e[36m#{commit.sha[0..6]}\e[m"
output << " on #{comment.created_at.review_time}"
unless comment.created_at == comment.updated_at
output << " (updated on #{comment.updated_at.review_time})"
end
output << ":\n#{''.rjust(output.length + 1, "-")}\n"
output << comment.body
output << "\n\n"
}
}
discussion.compact.flatten unless discussion.empty?
end