Query for certain branches, but not the rest

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Query for certain branches, but not the rest

From: Felipe Contreras <hidden>
Date: 2016-06-15 22:55:24

Hi,

Suppose I have these branches:

  fc/feature-a
  fc/feature-b
  master
  next

I want to show this: fc/feature-a fc/feature-b ^master ^next. I can do
'git log --branches=fc' to show the branches that begin with fc/, but
there's no way to specify the rest. If they were under a prefix, I
could do '--not --branches=prefix', but they are not.

Anybody knows a way to query branches that don't have any prefix?

It appears this works:

% git for-each-ref refs/heads/*

But I would like something parsable by rev-parse.

Any ideas?

Cheers.

-- 
Felipe Contreras

Re: Query for certain branches, but not the rest

From: Jeff King <hidden>
Date: 2016-06-15 22:55:26

On Sun, Nov 25, 2012 at 10:24:59AM +0100, Felipe Contreras wrote:
Suppose I have these branches:

  fc/feature-a
  fc/feature-b
  master
  next

I want to show this: fc/feature-a fc/feature-b ^master ^next. I can do
'git log --branches=fc' to show the branches that begin with fc/, but
there's no way to specify the rest. If they were under a prefix, I
could do '--not --branches=prefix', but they are not.

Anybody knows a way to query branches that don't have any prefix?
I don't think there is a way. `--branches` can take a pattern (and there
is always `--glob`), but we do not pass FNM_PATHNAME to fnmatch, so "*"
will match across `/` boundaries.

You are stuck with:

  git log --branches=fc --not $(
    git for-each-ref --format='%(refname:short)' refs/heads |
    grep -v /
  )

which is at least robust due to the restrictions on refnames (i.e., no
whitespace).

As an aside, I noticed that:

  git log --branches=does-not-exist

will see that we matched no refs and fall back to showing HEAD. That
seems a bit surprising to me.

-Peff
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help