Re: [PATCH v7 13/17] ref-filter: add `:dir` and `:base` options for ref printing atoms
- From
Jakub Narębski <jnareb@gmail.com>
- Date
- Nov 18, 2016, 21:49 UTC
- Message-ID
- <20d067ef-9e2c-0d1f-f81a-06c154e95e4f@gmail.com>
- In-Reply-To
- <xmqq4m38vdw4.fsf@gitster.mtv.corp.google.com>
W dniu 15.11.2016 o 18:42, Junio C Hamano pisze:
Show 24 quoted lines
> Jacob Keller <jacob.keller@gmail.com> writes: > >> dirname makes sense. What about implementing a reverse variant of >> strip, which you could perform stripping of right-most components and >> instead of stripping by a number, strip "to" a number, ie: keep the >> left N most components, and then you could use something like >> ... >> I think that would be more general purpose than basename, and less confusing? > > I think you are going in the right direction. I had a similar > thought but built around a different axis. I.e. if strip=1 strips > one from the left, perhaps we want to have rstrip=1 that strips one > from the right, and also strip=-1 to mean strip everything except > one from the left and so on?. I think this and your keep (and > perhaps you'll have rkeep for completeness) have the same expressive > power. I do not offhand have a preference one over the other. > > Somehow it sounds a bit strange to me to treat 'remotes' as the same > class of token as 'heads' and 'tags' (I'd expect 'heads' and > 'remotes/origin' would be at the same level in end-user's mind), but > that is probably an unrelated tangent. The reason this series wants > to introduce :base must be to emulate an existing feature, so that > existing feature is a concrete counter-example that argues against > my "it sounds a bit strange" reaction.
If it is to implement the feature where we select if to display only local branches (refs/heads/**), only remote-tracking branches (refs/remotes/**/**), or only tags (refs/tags/**), then perhaps ':category' or ':type' would make sense?
As in '%(refname:category)', e.g.
%(if:equals=heads)%(refname:category)%(then)...%(end)
-- Jakub Narębski