Thread (36 messages) flat view 36 messages, 3 authors, 2016-06-15

Re: [PATCH v14 07/13] ref-filter: add support for %(contents:lines=X)

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:06:21

On Sat, Aug 29, 2015 at 10:12 AM, Karthik Nayak [off-list ref] wrote:
quoted hunk ↗ jump to hunk
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 <redacted>
---
@@ -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;
+               }
        }
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help