On Wed, Aug 31, 2011 at 03:54:35PM -0700, Junio C Hamano wrote: > > +The complete message in a commit and tag object is `contents`. > > +Its first line is `contents:subject`, the remaining lines > > +are `contents:body` and the optional GPG signature > > +is `contents:signature`. > > To match the parsing of commit objects, I would prefer to see "subject" to > mean "the first paragraph" (usually the first line alone but that is > purely from convention), but that probably is a separate topic. Good idea. I suspect pretty.c:format_subject can be reused here. > To paraphrase the last part of your sentence, if a tag is merely annotated > and not signed, contents:signature would be empty (I am just making sure > that I am reading the description correctly). That is what I checked for in the tests I added. > > while (*buf == '\n') > > buf++; /* skip blank between subject and body */ > > *body = buf; > > + *signature = buf + parse_signature(buf, strlen(buf)); > > If there is no signature, parse_signature() would return (size_t) 0, no? No, it returns strlen(buf) in that case, making signature the empty string. It would perhaps better be called find_signature_in_body(), since it is actually about parsing the rest of the body until we get to the signature. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html