in lib/grit/tag.rb [47:73]
def self.parse_tag_data(data)
return unless data =~ /^object/
parsed = {}
lines = data.split("\n")
parsed[:object] = lines.shift.sub(/^object /, '')
parsed[:type] = lines.shift.sub(/^type /, '')
parsed[:tag] = lines.shift.sub(/^tag /, '')
author_line = lines.shift
parsed[:tagger], parsed[:tag_date] = Commit.actor(author_line)
if !parsed[:tagger] || !parsed[:tagger].name
parsed[:tag_date] ||= Time.utc(1970)
parsed[:tagger] = Actor.from_string(author_line.sub(/^tagger /, ''))
end
lines.shift
parsed[:message] = []
while lines.first && lines.first !~ /-----BEGIN PGP SIGNATURE-----/
parsed[:message] << lines.shift
end
parsed[:message] = parsed[:message] * "\n"
parsed[:pgp] = []
while lines.first
parsed[:pgp] << lines.shift
end
parsed[:pgp] = parsed[:pgp] * "\n"
parsed
end