code: def diff(self, old, new, rel_path=None):
          
          full_url_or_path = self.__url_or_path
          if rel_path is not None:
              full_url_or_path += '/' + rel_path
          diff_result = self.run_command(
              'diff',
              ['--old', '{0}@{1}'.format(full_url_or_path, old),
               '--new', '{0}@{1}'.format(full_url_or_path, new)],
              do_combine=True)
          file_to_diff = {}
          for non_empty_diff in filter(None, diff_result.decode('utf8').split('Index: ')):
              split_diff = non_empty_diff.split('==')
              file_to_diff[split_diff[0].strip().strip('/')] = split_diff[-1].strip('=').strip()
          diff_summaries = self.diff_summary(old, new, rel_path)
          for diff_summary in diff_summaries:
              diff_summary['diff'] = \
                  file_to_diff[diff_summary['path'].split(full_url_or_path)[-1].strip('/')]
          return diff_summaries
docs: Provides output of a diff between two revisions (file, change type,
           file type)