Re: [PATCH v14 07/13] ref-filter: add support for %(contents:lines=X)
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Aug 30, 2015, 22:13 UTC
- Message-ID
- <CAPig+cTYQmrFnf7p6zxNh9w6AKXth99nRu40chQtUYAkWVss=w@mail.gmail.com>
- In-Reply-To
- <1440857537-13968-8-git-send-email-Karthik.188@gmail.com>
On Sat, Aug 29, 2015 at 10:12 AM, Karthik Nayak <karthik.188@gmail.com> wrote:
Show 21 quoted lines
> In 'tag.c' we can print N lines from the annotation of the tag using
> the '-n<num>' 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 <karthik.188@gmail.com>
> ---
> @@ -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
Show 6 quoted lines
> + hashcpy(contents->oid.hash, obj->sha1); > + v->handler = contents_lines_handler; > + v->contents = contents; > + } > } > }