# File lib/grit/git-ruby/object.rb, line 182
    def self.from_raw(rawobject, repository=nil)
      raw = StringIO.new(rawobject.content)

      entries = []
      while !raw.eof?
        mode      = Grit::GitRuby.read_bytes_until(raw, ' ')
        file_name = Grit::GitRuby.read_bytes_until(raw, "\0")
        raw_sha   = raw.read(20)
        sha = raw_sha.unpack("H*").first

        entries << DirectoryEntry.new(mode, file_name, sha)
      end
      new(entries, repository)
    end