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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html