# File lib/grit/git-ruby/git_object.rb, line 229 def actual_raw #@entry.collect { |e| e.raw.join(' '), e.name].join("\t") }.join("\n") end
# File lib/grit/git-ruby/git_object.rb, line 223 def raw_content # TODO: sort correctly #@entry.sort { |a,b| a.name <=> b.name }. @entry.collect { |e| [[e.format_mode, e.format_type, e.sha1].join(' '), e.name].join("\t") }.join("\n") end
# File lib/grit/git-ruby/git_object.rb, line 219 def type :tree end
# File lib/grit/git-ruby/git_object.rb, line 199 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, "\00"") raw_sha = raw.read(20) sha = raw_sha.unpack("H*").first entries << DirectoryEntry.new(mode, file_name, sha) end new(entries, repository) end
# File lib/grit/git-ruby/git_object.rb, line 214 def initialize(entries=[], repository = nil) @entry = entries @repository = repository end