All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olga Telezhnaya <olyatelezhnaya@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH RFC 03/20] ref-filter: add rest formatting option
Date: Fri, 22 Feb 2019 16:05:45 +0000	[thread overview]
Message-ID: <0102016915f49a49-6f817c1d-5b1c-47ac-98c3-18a124a733eb-000000@eu-west-1.amazonses.com> (raw)
In-Reply-To: <0102016915f499b8-5813fc52-230b-469e-b939-a1244e83a2b9-000000@eu-west-1.amazonses.com>

Add rest option that allows to add string into ref_array_item
and then put it into specific place of the output.
We are using it now in cat-file command: user could put anything
in the input after objectname, and it will appear in the output
in place of %(rest).

Signed-off-by: Olga Telezhnaia <olyatelezhnaya@gmail.com>
---
 ref-filter.c | 4 ++++
 ref-filter.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/ref-filter.c b/ref-filter.c
index 736e1f9cc38fc..46bf89b3330de 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -485,6 +485,7 @@ static struct {
 	{ "if", SOURCE_NONE, FIELD_STR, if_atom_parser },
 	{ "then", SOURCE_NONE },
 	{ "else", SOURCE_NONE },
+	{ "rest", SOURCE_NONE },
 };
 
 #define REF_FORMATTING_STATE_INIT  { 0, NULL }
@@ -1623,6 +1624,9 @@ static int populate_value(struct ref_array_item *ref, struct strbuf *err)
 			else
 				v->s = xstrdup(" ");
 			continue;
+		} else if (starts_with(name, "rest")) {
+			v->s = xstrdup(ref->request_rest ? ref->request_rest : "");
+			continue;
 		} else if (starts_with(name, "align")) {
 			v->handler = align_atom_handler;
 			v->s = xstrdup("");
diff --git a/ref-filter.h b/ref-filter.h
index 4d7d36e9f522d..aaeda9f324f5c 100644
--- a/ref-filter.h
+++ b/ref-filter.h
@@ -40,6 +40,7 @@ struct ref_array_item {
 	const char *symref;
 	struct commit *commit;
 	struct atom_value *value;
+	const char *request_rest;
 	char refname[FLEX_ARRAY];
 };
 

--
https://github.com/git/git/pull/568

  parent reply	other threads:[~2019-02-22 16:05 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-22 15:50 [PATCH RFC 0/20] cat-file: start using formatting logic from ref-filter Olga Telezhnaya
2019-02-22 16:05 ` [PATCH RFC 01/20] cat-file: reuse struct ref_format Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 04/20] for-each-ref: tests for new atom %(rest) added Olga Telezhnaya
2019-02-28 21:11     ` Jeff King
2019-03-01  6:10       ` Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 19/20] cat-file: tests for new atoms added Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 02/20] ref-filter: rename field in ref_array_item stuct Olga Telezhnaya
2019-02-28 21:06     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 18/20] cat-file: get rid of expand_data Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 05/20] cat-file: remove split_on_whitespace Olga Telezhnaya
2019-02-28 21:22     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 13/20] cat-file: rewrite print_object_or_die Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 14/20] cat-file: move print_object_or_die to ref-filter Olga Telezhnaya
2019-02-22 16:05   ` Olga Telezhnaya [this message]
2019-02-28 21:07     ` [PATCH RFC 03/20] ref-filter: add rest formatting option Jeff King
2019-02-22 16:05   ` [PATCH RFC 16/20] for-each-ref: tests for new atom %(raw) added Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 10/20] cat-file: inline stream_blob Olga Telezhnaya
2019-02-28 21:33     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 15/20] ref-filter: add raw formatting option Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 06/20] cat-file: remove mark_query from expand_data Olga Telezhnaya
2019-02-28 21:25     ` Jeff King
2019-03-03  9:41     ` Christian Couder
2019-02-22 16:05   ` [PATCH RFC 08/20] cat-file: remove rest " Olga Telezhnaya
2019-02-28 21:27     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 07/20] cat-file: remove skip_object_info Olga Telezhnaya
2019-02-28 21:26     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 12/20] cat-file: remove batch_write function Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 11/20] cat-file: move filter_object to diff.c Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 17/20] cat-file: reuse ref-filter formatting logic Olga Telezhnaya
2019-02-22 16:05   ` [PATCH RFC 09/20] ref-filter: make expand_data global Olga Telezhnaya
2019-02-28 21:30     ` Jeff King
2019-02-22 16:05   ` [PATCH RFC 20/20] cat-file: update docs Olga Telezhnaya
2019-02-28 21:04   ` [PATCH RFC 01/20] cat-file: reuse struct ref_format Jeff King
2019-02-22 16:09 ` [PATCH RFC 0/20] cat-file: start using formatting logic from ref-filter Eric Sunshine
2019-02-22 16:19   ` Olga Telezhnaya
2019-02-28 21:41 ` Jeff King
2019-03-01  6:16   ` Olga Telezhnaya
2019-02-28 21:43 ` Jeff King
2019-03-01  6:17   ` Olga Telezhnaya
2019-03-03  1:21   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0102016915f49a49-6f817c1d-5b1c-47ac-98c3-18a124a733eb-000000@eu-west-1.amazonses.com \
    --to=olyatelezhnaya@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.