self.create_tag_object

in lib/grit/tag.rb [14:34]


    def self.create_tag_object(repo, hash, default_actor = nil)
      tagger = hash[:tagger]
      if !tagger
        tagger = default_actor ? default_actor : Actor.new("none", "none@none")
        tagger_date = Time.now
      else
        tagger_date = tagger[:date] ? Time.parse(tagger[:date]) : Time.now
        tagger = Actor.new(tagger[:name], tagger[:email])
      end
      data = []
      data << "object #{hash[:object]}"
      data << "type #{hash[:type]}"
      data << "tag #{hash[:tag]}"
      data << "tagger #{tagger.output(tagger_date)}"
      data << ""
      data << hash[:message]
      data = data.join("\n")
      sha = repo.git.put_raw_object(data, 'tag')
      { :sha => sha, :size => data.size }
    end