From: Eric Sunshine Date: Sun, 30 Aug 2015 22:13:35 GMT Subject: Re: [PATCH v14 07/13] ref-filter: add support for %(contents:lines=X) Message-ID: In-Reply-To: <1440857537-13968-8-git-send-email-Karthik.188@gmail.com> On Sat, Aug 29, 2015 at 10:12 AM, Karthik Nayak wrote: > In 'tag.c' we can print N lines from the annotation of the tag using > the '-n' option. Copy code from 'tag.c' to 'ref-filter' and > modify it to support appending of N lines from the annotation of tags > to the given strbuf. > > Implement %(contents:lines=X) where X lines of the given object are > obtained. > > Add documentation and test for the same. > > Signed-off-by: Karthik Nayak > --- > @@ -608,6 +672,15 @@ static void grab_sub_body_contents(struct atom_value *val, int deref, struct obj > v->s = xmemdupz(sigpos, siglen); > else if (!strcmp(name, "contents")) > v->s = xstrdup(subpos); > + else if (skip_prefix(name, "contents:lines=", &valp)) { > + struct contents *contents = xmalloc(sizeof(struct contents)); > + > + if (strtoul_ui(valp, 10, &contents->lines)) > + die(_("positive width expected align:%s"), valp); I forgot to mention this when I reviewed the patch earlier[1], but you copied this error message a bit too literally from the %(align:) atom. [1]: http://article.gmane.org/gmane.comp.version-control.git/276807 > + hashcpy(contents->oid.hash, obj->sha1); > + v->handler = contents_lines_handler; > + v->contents = contents; > + } > } > }