I've attached a partial implementation of full diffs. This doesn't support diffs between two versions or diffs requesting a single file yet. It should be a starting point for discussing the behavior though.