code: def _list_from_string(cls, repo, text):
          
          hsh = {'total': {'insertions': 0, 'deletions': 0, 'lines': 0, 'files': 0}, 'files': {}}
          for line in text.splitlines():
              (raw_insertions, raw_deletions, filename) = line.split("\t")
              insertions = raw_insertions != '-' and int(raw_insertions) or 0
              deletions = raw_deletions != '-' and int(raw_deletions) or 0
              hsh['total']['insertions'] += insertions
              hsh['total']['deletions'] += deletions
              hsh['total']['lines'] += insertions + deletions
              hsh['total']['files'] += 1
              hsh['files'][filename.strip()] = {'insertions': insertions,
                                                'deletions': deletions,
                                                'lines': insertions + deletions}
          return Stats(hsh['total'], hsh['files'])
docs: Create a Stat object from output retrieved by git-diff.
  
          :return: git.Stat