From: Karthik Nayak <karthik.188@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git <git@vger.kernel.org>,
Christian Couder <christian.couder@gmail.com>,
Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
Subject: Re: [RFC/PATCH 04/11] ref-filter: add 'ifexists' atom
Date: Wed, 29 Jul 2015 23:18:16 +0530 [thread overview]
Message-ID: <CAOLa=ZTUJHnXWJyr0wp0CZgR9S1pBxCEsGRiDPsJdUyzTZaZUw@mail.gmail.com> (raw)
In-Reply-To: <xmqq8ua0f9lk.fsf@gitster.dls.corp.google.com>
On Tue, Jul 28, 2015 at 11:27 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Karthik Nayak <karthik.188@gmail.com> writes:
>
>> The 'ifexists' atom allows us to print a required format if the
>> preceeding atom has a value. If the preceeding atom has no value then
>> the format given is not printed. e.g. to print "[<refname>]" we can
>> now use the format "%(ifexists:[%s])%(refname)".
>
> A handful of "huh?" on the design.
>
> - The atom says "if *exists*" and explanation says "has a value".
> How are they related? Does an atom whose value is an empty
> string has a value? Or is "ifexists" meant to be used only to
> ignore meaningless atom, e.g. %(*objectname) applied to a ref that
> refers to an object that is not an annotated tag?
It's meant to ignore meaningless atom. atom's whose values are empty
strings are ignored.
>
> - That %s looks ugly. Are there cases where a user may want to say
> %(ifexists:[%i]) or something other than 's' after that per-cent?
>
Couldn't think of a better replacer, any suggestions would be welcome :)
> . Is it allowed to have more than one %s there?
> . Is it allowed to have no %s there?
>
1. yes its allowed to have multiple %s
2. yes no %s is also allowed.
> - The syntax makes the reader wonder if [] is part of the
> construct, or just an example of any arbitrary string, i.e. is
> "%(ifexists:the %s can be part of arbitrary string)" valid?
>
Its given as example, is that misleading?
> - If an arbitrary string is allowed, is there any quoting mechanism
> to allow ")" to be part of that arbitrary string?
Nope. Haven't done anything for that. I'll look into that :)
>
> - What, if anything, is allowed to come between %(ifexists...) and
> the next atom like %(refname)? For example, are these valid
> constructs?
>
> . %(ifexists...)%(padright:20)%(refname)
Doesn't work with padright, maybe we could eventually support that.
> . %(ifexists...) %(refname) [%(subject)]
>
Not sure what this is.
> - This syntax does not seem to allow switching on an attribute to
> show or not to show another, e.g. "if %(*objectname) makes sense,
> then show '%(padright:20)%(refname:short) %(*subject)' for it".
Yes this doesn't do that, I can say this is a pretty basic version, we could
probably work on and implement more things?
This is currently to support 'git branch -vv' where we have the upstream
in square brackets.
--
Regards,
Karthik Nayak
next prev parent reply other threads:[~2015-07-29 17:48 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-28 6:55 [RFC/PATCH] Port branch.c to use ref-filter APIs Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 01/11] ref-filter: add "%(objectname:size=X)" option Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 02/11] ref-filter: add 'colornext' atom Karthik Nayak
2015-07-28 8:45 ` Matthieu Moy
2015-07-28 16:03 ` Karthik Nayak
2015-07-28 9:13 ` Christian Couder
2015-07-28 16:04 ` Karthik Nayak
2015-07-29 20:10 ` Eric Sunshine
2015-07-29 21:30 ` Matthieu Moy
2015-07-30 4:27 ` Jacob Keller
2015-07-30 16:17 ` Junio C Hamano
2015-08-01 13:06 ` Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 03/11] ref-filter: add option to filter only branches Karthik Nayak
2015-07-28 13:38 ` Matthieu Moy
2015-07-28 16:42 ` Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 04/11] ref-filter: add 'ifexists' atom Karthik Nayak
2015-07-28 7:54 ` Jacob Keller
2015-07-28 16:47 ` Karthik Nayak
2015-07-28 8:50 ` Matthieu Moy
2015-07-28 17:39 ` Karthik Nayak
2015-07-28 17:57 ` Junio C Hamano
2015-07-29 17:48 ` Karthik Nayak [this message]
2015-07-29 18:00 ` Junio C Hamano
2015-07-29 18:56 ` Junio C Hamano
2015-07-29 21:21 ` Matthieu Moy
2015-07-29 22:05 ` Junio C Hamano
2015-08-01 6:46 ` Karthik Nayak
2015-08-01 7:05 ` Jacob Keller
2015-08-01 6:44 ` Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 05/11] branch: fix width computation Karthik Nayak
2015-07-28 9:47 ` Matthieu Moy
2015-07-28 18:16 ` Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 06/11] branch: roll show_detached HEAD into regular ref_list Karthik Nayak
2015-07-28 13:01 ` Matthieu Moy
2015-07-28 19:19 ` Karthik Nayak
2015-07-29 9:56 ` Matthieu Moy
2015-07-29 17:54 ` Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 07/11] branch: move 'current' check down to the presentation layer Karthik Nayak
2015-07-28 13:09 ` Matthieu Moy
2015-07-28 20:12 ` Karthik Nayak
2015-07-29 0:46 ` Jacob Keller
2015-07-29 18:44 ` Karthik Nayak
2015-07-29 10:01 ` Matthieu Moy
2015-07-29 18:52 ` Karthik Nayak
2015-07-29 21:27 ` Matthieu Moy
2015-08-01 6:48 ` Karthik Nayak
2015-08-01 7:06 ` Jacob Keller
2015-08-01 9:03 ` Eric Sunshine
2015-08-02 12:59 ` Karthik Nayak
2015-08-02 17:58 ` Junio C Hamano
2015-07-28 6:56 ` [RFC/PATCH 08/11] branch: drop non-commit error reporting Karthik Nayak
2015-07-28 6:56 ` [RFC/PATCH 09/11] branch.c: use 'ref-filter' data structures Karthik Nayak
2015-07-28 8:17 ` Christian Couder
2015-07-28 13:48 ` Matthieu Moy
2015-07-28 20:41 ` Karthik Nayak
2015-07-29 10:08 ` Matthieu Moy
2015-07-29 19:38 ` Karthik Nayak
2015-07-28 20:38 ` Karthik Nayak
2015-07-28 8:22 ` Christian Couder
2015-07-28 20:31 ` Karthik Nayak
2015-07-28 8:42 ` [RFC/PATCH 01/11] ref-filter: add "%(objectname:size=X)" option Matthieu Moy
2015-07-28 15:54 ` Karthik Nayak
2015-07-28 15:43 ` Junio C Hamano
2015-07-28 15:55 ` Karthik Nayak
2015-07-28 16:19 ` Junio C Hamano
2015-07-29 16:02 ` Karthik Nayak
2015-07-28 7:11 ` [RFC/PATCH 10/11] branch.c: use 'ref-filter' APIs Karthik Nayak
2015-07-28 7:57 ` Jacob Keller
2015-07-29 3:46 ` Karthik Nayak
2015-07-28 8:09 ` Christian Couder
2015-07-29 3:48 ` Karthik Nayak
2015-07-28 14:17 ` Matthieu Moy
2015-07-29 15:32 ` Karthik Nayak
2015-07-29 15:46 ` Matthieu Moy
2015-07-29 15:37 ` Karthik Nayak
2015-07-29 15:56 ` Matthieu Moy
2015-07-30 6:37 ` Karthik Nayak
2015-07-30 7:29 ` Matthieu Moy
2015-08-03 10:20 ` Karthik Nayak
2015-08-19 15:49 ` Matthieu Moy
2015-08-19 15:52 ` Karthik Nayak
2015-07-28 7:11 ` [RFC/PATCH 11/11] branch: add '--points-at' option Karthik Nayak
2015-07-28 7:46 ` Jacob Keller
2015-07-29 15:44 ` Karthik Nayak
2015-07-28 13:35 ` [RFC/PATCH] Port branch.c to use ref-filter APIs Matthieu Moy
2015-07-28 15:48 ` Karthik Nayak
2015-07-28 17:53 ` Matthieu Moy
2015-07-29 15:54 ` Karthik Nayak
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOLa=ZTUJHnXWJyr0wp0CZgR9S1pBxCEsGRiDPsJdUyzTZaZUw@mail.gmail.com' \
--to=karthik.188@gmail.com \
--cc=Matthieu.Moy@grenoble-inp.fr \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).