Implement GitDiff