From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Pete Harlan <pgit@tento.net>,
Karthik Nayak <karthik.188@gmail.com>,
git@vger.kernel.org
Subject: Re: [PATCH] tag: do not show ambiguous tag names as "tags/foo"
Date: Sun, 24 Jan 2016 17:27:36 -0500 [thread overview]
Message-ID: <20160124222736.GA29115@sigill.intra.peff.net> (raw)
In-Reply-To: <xmqqvb6iboxj.fsf@gitster.mtv.corp.google.com>
On Sun, Jan 24, 2016 at 02:19:52PM -0800, Junio C Hamano wrote:
> >> Instead, let's extend the "short" modifier in the formatting
> >> language to handle a specific prefix. This fixes "git tag",
> >> and lets users invoke the same behavior from their own
> >> custom formats (for "tag" or "for-each-ref") while leaving
> >> ":short" with its same consistent meaning in all places.
>
> Yeah, I do agree with the analysis.
>
> I however wonder if short=$prefix is a good end-user interface,
> though, as strip=$prefix may be more intuitive to them, I suspect.
Yeah, I picked "short" just because of the existing feature. But we are
not bound to use the same name at all, and "strip" is probably more
descriptive (I thought "prefix" might also be, but that only
communicates what it _is_, not that we are removing it).
> Also there is "what happens if the expected prefix is not there?"
> question.
I think "do not strip anything" (as I have here) is an OK behavior. It
would not come up for sane requests (i.e., you would generally be
filtering to match your prefix anyway).
But...
> Perhaps strip=2 can be defined to "strip 2 levels of
> hierarchy prefix no matter what that is", and strip refs/tags/foo,
> refs/heads/foo and refs/remotes/origin/foo to foo, foo, origin/foo,
> respectively? The filtering natively done by the listing mode of
> "branch" and "tags" would ensure the prefixes are always what we
> implicitly expect, so the case we need to worry about how we should
> signal errors becomes "what if there are not enough levels". That
> may be simpler to handle.
Yeah, "strip=2" would also get the job done, and extends more naturally
to the branch case.
To be honest, I cannot imagine anybody using anything _but_ strip=2, but
maybe there are special cases, like:
git for-each-ref --format='%(refname:strip=3)' refs/heads/jk/
to get my list of topics, sans initials.
I had originally hoped to avoid exposing any of this to the user, and
just make things internal, so that we would not be locked into a
particular formatting behavior. But since we now have "tag --format" and
advertise "%(refname:short)" as its default, I think it has become
user-visible.
Let me see what the "strip=X" patch looks like.
-Peff
next prev parent reply other threads:[~2016-01-24 22:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-23 23:56 Regression? Ambiguous tags listed as "tags/<foo>" Pete Harlan
2016-01-24 7:12 ` [PATCH] tag: do not show ambiguous tag names as "tags/foo" Jeff King
2016-01-24 7:18 ` Jeff King
2016-01-24 22:19 ` Junio C Hamano
2016-01-24 22:27 ` Jeff King [this message]
2016-01-24 23:39 ` Eric Sunshine
2016-01-25 9:56 ` Jeff King
2016-01-25 2:26 ` Junio C Hamano
2016-01-25 10:01 ` Jeff King
2016-01-25 19:29 ` Karthik Nayak
2016-01-25 20:21 ` Junio C Hamano
2016-01-26 2:37 ` Jeff King
2016-01-26 3:00 ` Jeff King
2016-01-26 3:25 ` Junio C Hamano
2016-01-24 23:05 ` Jeff King
2016-01-24 23:08 ` [PATCH 1/2] t6300: use test_atom for some un-modern tests Jeff King
2016-01-24 23:08 ` [PATCH 2/2] tag: do not show ambiguous tag names as "tags/foo" Jeff King
2016-01-26 0:04 ` Junio C Hamano
2016-01-26 4:25 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160124222736.GA29115@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=karthik.188@gmail.com \
--cc=pgit@tento.net \
/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 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 NNTP newsgroup(s).